在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文件以执行查询。
答案 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。