PHP PEAR的escape()vs quote()vs mysql_real_escape_string()?

时间:2012-02-13 06:03:51

标签: php mysql pear

正在使用PHP的PEAR框架开发一个应用程序,但遇到了一个问题,即我在双重转义/引用输入时,并没有让换行符(\ n)正确显示。搜索论坛提出了各种答案,但是想知道是否有人建议使用PEAR的escape()或quote()函数是否足以实现SQL注入安全性,还是应该坚持使用mysql_real_escape_string()?我正在尝试使用nl2br()+ htmlspecialchars()随后吐出内容,并且最初错误地使用以下内容来转义输入:

$db->quote(mysql_real_escape_string(trim($_POST['text'])));

1 个答案:

答案 0 :(得分:4)

使用数据库驱动程序的转义功能。如果您使用PEAR包连接到数据库,请使用其转义函数。如果您使用原始mysql函数,请使用mysql_real_escape_string。不要使用多个(如你所知)。

更好的是,与时俱进并使用现代预备语句,例如PHP's PDO class