gpt4 book ai didi

php - mysql_real_escape_string() 没有清理变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:57:04 24 4
gpt4 key购买 nike

我在现有网站上工作,试图防止 SQL 注入(inject)。在 $_GET['ID'] 未净化之前。

$ID=mysql_real_escape_string($_GET['ID']);
$sQuery=mysql_query("select * from tbl_mini_website as s1, tbl_actor_merchant as me where s1.MERCHANT_ID=$ID AND s1.MERCHANT_ID=me.MERCHANT_ID");

如果我在 url 的末尾放置一个 ',使用 mysql_real_escape_string() 我从 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 '\\' AND s1.MERCHANT_ID=me.MERCHANT_ID' at line 1

没有 mysql_real_escape_string() 我得到:

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 '\' AND s1.MERCHANT_ID=me.MERCHANT_ID' at line 1

不知道怎么回事?任何帮助将不胜感激。

最佳答案

如果它是一个 id,我假设是数字,你为什么不把它转换成一个整数呢?

$ID = (int) $_GET['ID'];

我能给你的最好建议是check out PDO并使用绑定(bind)参数。

关于php - mysql_real_escape_string() 没有清理变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5574488/

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