gpt4 book ai didi

php - 为什么 mysql_real_escape_string 不起作用?

转载 作者:行者123 更新时间:2023-11-29 21:04:10 25 4
gpt4 key购买 nike

我正在尝试将 ' 符号插入我的数据库并具有以下代码。

$actionurl =$_POST['actionurl'];
$newtitle = $_POST['newtitle'];
$newtitle = mysql_real_escape_string($newtitle);
$result2 = mysql_query("UPDATE links SET title='$newtitle' WHERE url='$actionurl'")
or die(mysql_error());

我收到此错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's to start up a sample library (forum thread)'' at line 1

如果我在 $newtitle 变量上使用 mysql_real_escape_string,为什么会收到错误?

最佳答案

我怀疑是 actionurl 导致了错误,而不是 $newtitle。

要对此进行调试,请回显或打印要执行的 SQL 语句。

你可以这样做:

$sql = "UPDATE links SET title='$newtitle' WHERE url='$actionurl'";
// for debugging, output contents of the $sql string
echo "SQL=" . $sql ;
mysql_query($sql) or die(mysql_error();
<小时/>

正如其他人已经建议的那样,mysql_ 接口(interface)已被弃用。新开发应该使用 mysqli 或 PDO。并使用带有绑定(bind)占位符的准备好的语句。在 2016 年与 mysql_real_escape_string 作斗争似乎是荒谬的。

关于php - 为什么 mysql_real_escape_string 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36970108/

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