0

我有一堆没有正确清理的代码。最好的方法是绑定变量,这个页面http://php.net/manual/en/function.mysql-escape-string.php说不应该使用mysql_escape_string(我使用的是5.3.2)全部。

mysql_escape_string 在高于 5.3.0 的版本中根本不起作用吗?

编辑:我知道绑定是最好的方法,但是有一堆旧代码需要清理。所以如果我使用mysql_escape_string,它根本就不起作用吗?没用吗?

4

1 回答 1

2

最好的选择是使用 PDO 之类的准备好的/参数化查询。如果您想坚持以更原生的方式与 MySQL 交互,您也可以使用 MySQLi。使用参数化查询,数据是独立于 SQL 发送的,就 SQL 注入而言,它本质上是安全的。

如果您正在寻找mysql_escape_string()直接的替代品,那将是mysql_real_escape_string(). 它是一种直接替代品,如果您完全关心安全性,则必须使用它。

于 2012-11-26T20:49:17.920 回答