mysql_real_escape_string向in子句中的值添加斜杠,因此不返回任何值。如何在in子句中发送使用mysql_real_escape_string()转义的数组值?
这是我的代码:

$names_array = array('dave','smith');
$names = mysql_real_escape_string("'". implode("', '", $names_array) ."'");
$sql = "SELECT * FROM user WHERE user_name IN ($names)";
$results = mysql_query($sql);

mysql_real_escape_字符串更改后的查询如下:
SELECT * FROM user WHERE user_name IN (\'dave\', \'smith\')

我不想在条款中有这些斜线。我也不希望在in子句中直接替换这些值。
提前谢谢。

最佳答案

这也许能做到。

$names = "'". implode("', '", array_map('mysql_real_escape_string', $names_array)). "'";

10-06 15:15