由于没有函数来检查一个字符串是否在输入到数据库之前被转义,我怎么能用正则表达式来做到这一点?功能来检查一个字符串是否为mysql的反斜杠
$string = 'some" string';
if(!preg_match('//',$string))
{
$string = mysqli_real_escape_string($string);
}
PHP手册:
编码NUL mysqli_real_escape_string反斜线字符(ASCII 0),\ N,\ r \,”,”,与控制-Z
在某些字符之前检查是否有反斜杠并不难,但不可能检查大块文本中的反斜杠是否适用于任何任意应用程序。 – 2010-01-14 16:35:16
请结合您的代码,让您唯一称呼mysqli_real_escape_string的地方就在您创建sql语句之前。那么你不需要知道它是否已经完成。 – jmucchiello 2010-01-14 16:39:36
这个以前的答案是正确的。 http://stackoverflow.com/questions/2065391/php-what-happens-when-a-string-is-double-times-mysqlirealescapestring/2065428#2065428 – 2010-01-14 16:39:11