为什么mysqli_real_escape_string将连接对象作为第一个参数

时间:2015-05-31 22:00:51

标签: php mysql mysqli

我在PHP中使用MYSQLI函数很长一段时间。 我总是问我同样的事情: 为什么函数mysqli_real_escape_string需要第一个参数中的连接?没有意义!这只是一个改编引号的功能。

你知道为什么吗?

1 个答案:

答案 0 :(得分:5)

mysqli_real_escape_string必须知道连接的字符集,以便它可以正确地转义特殊字符。如果你使用多字节集,那么mysqli必须知道。否则为sql injection is possibile。有关详细信息,请参阅this answer

但是,不要使用它!使用Prepared Statements