phpmyadmin查询vs mysql搜索表单和特殊字符

时间:2013-10-04 06:06:38

标签: php mysql

在phpMyAdmin中搜索“Loral的库”,然后选择“创建PHP代码”时,我看到phpMyAdmin查询会自动为':

插入转义字符
$sql = "SELECT * FROM `programs` WHERE `progname` LIKE \'Loral\'\'s Library\' LIMIT 0, 30 ";

如何在mysql搜索表单中包含相同的功能?

我对“Loral's Library”这样一个表单的查询类似于:

$query = "SELECT * FROM programs WHERE progname LIKE '$search' ORDER BY progname ASC";

该类型搜索会为带有'字符的任何内容返回错误。在搜索表单中输入“Loral的库”,然后将其传递给search.php文件以执行查询。

1 个答案:

答案 0 :(得分:2)

$escapedVaue=mysqli_real_escape_string($link,$originalValue);

这个功能正是如此。

  

mysqli :: real_escape_string - mysqli_real_escape_string - 在SQL语句中使用字符串中的特殊字符,并考虑连接的当前字符集

     

此函数用于创建可在SQL语句中使用的合法SQL字符串。给定的字符串被编码为转义的SQL字符串,并考虑了连接的当前字符集。

     

编码的字符是NUL(ASCII 0),\ n,\ r,\,',“和Control-Z。

mysqli_real_escape_string