[英]PHP mysqli_real_escape_string argument
我不是问如何使用该功能。
我知道mysqli_real_escape_string
的功能是什么或如何使用它,但我想问一下,为什么它的第一个参数需要引用mysqli连接?
这里有一些猜测,但我不知道我是否猜对了:
这个问题令我感到不安,因为我的软件中有多线程,我有一个接受字符串查询作为参数的函数,并将查询推送到另一个线程执行,所以我无法获取MySQLi的实例以逃避我的字符串查询。
来自http://php.net/manual/de/mysqli.real-escape-string.php:mysqli :: real_escape_string - mysqli_real_escape_string - 转义字符串中的特殊字符以用于SQL语句, 同时考虑当前的字符集连接
简而言之:该函数必须知道您的连接使用什么字符集。
替代mysql_real_escape_string而不连接到DB
这基本上解释了原因。 必须知道MySQL连接使用的char集。 如果不这样做,则可能会进行多字节SQL注入,具体取决于您的代码。 无论如何,除非你编写自己的函数,否则你需要使用MySQL实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.