0

在 phpMyAdmin 中搜索“Loral's Library”时,然后选择“创建 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's Library”,然后将其传递给 search.php 文件以执行查询。

4

1 回答 1

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

于 2013-10-04T06:07:33.103 回答