gpt4 book ai didi

php - 将序列化数据转义和插入到 MySQL

转载 作者:行者123 更新时间:2023-11-29 03:58:20 25 4
gpt4 key购买 nike

我有以下数据为例:

$a = addslashes('hello\'s');
$b = serialize($a);

// As you know, $b looks like this s:8:"hello\'s";

现在,当我将 $b 插入 MySQL 时,数据现在在 MySQL 中看起来像这样 s:8:"hello's"。MySQL 删除了\,现在我有一个无效的序列化数据。

解决此问题的最佳方法是什么?谢谢

最佳答案

对于进入 SQL 查询的转义参数,您不使用 addslashes,而是使用 mysql_real_escape_string

示例:

<?php
$param = mysql_real_escape_string($_GET['param']);
$query = "SELECT f1, f2 FROM atable WHERE f3 = '$param' ";
// these single quotes here are essential !! ^ ^
// if you leave out the quotes you **will** suffer SQL-injection.

这是转义 SQL 参数的正确方法。
或者甚至更好地将 PDO 与准备好的语句一起使用,那么您根本不必转义。

关于php - 将序列化数据转义和插入到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com