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

Bro*_*oel 2 php mysql mysqli

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

你知道为什么吗?

Fed*_*kun 6

mysqli_real_escape_string必须知道连接的字符集,以便它可以正确地转义特殊字符.如果你使用多字节集,那么mysqli必须知道.否则可能会进行sql注入.有关详细信息,请参阅此答案.

但是,不要使用它!使用准备好的陈述!