是否有一些代码可用于过滤字符串以将转义字符放在无效的MySQL字符前面?

时间:2011-01-10 04:53:39

标签: php mysql escaping character

我正在我的网站上建立评论部分,我需要能够过滤字符串并转义无效字符吗?

是否有任何代码可以自动执行此操作并返回正确放置转义字符的字符串?

我使用PHP btw。

3 个答案:

答案 0 :(得分:3)

您需要mysql_real_escape_string(),或将您的参数与PDO绑定。

答案 1 :(得分:1)

使用内置的msyql_函数:mysql_real_escape_string

答案 2 :(得分:0)

使用绑定变量通常比转义字符串更好。

首先,我会嘲笑您应该考虑学习使用数据库抽象层或ORM的派对,因为从长远来看这会更好。我将把关于哪个程序包的神圣战争留给用户(以及PDO的优点等等)给别人。

如果您使用的是最新版本的PHP,则应该使用MySQLi(MySQL改进的扩展名)。 此扩展允许绑定参数,如下所述:

http://php.net/manual/en/mysqli-stmt.bind-param.php

另请注意,虽然转义字符串是一个良好的开端,但这还不够。

请参阅: Is htmlentities() and mysql_real_escape_string() enough for cleaning user input in PHP?