【发布时间】:2018-06-11 00:43:58
【问题描述】:
我有这个代码:
$Array=array();
array_push($Array,"Email1","Email2");
$Array=implode("','",$Array);
$Array="'$Array'";
echo "$Array" //Will output 'Email1','Email2'
$Check=$connection->prepare("SELECT ID FROM USERS WHERE EMAIL IN(:Array)");
$Check->execute(array(
':Array' => $Array,
));
这个查询不起作用,但如果我写:
$Check=$connection->prepare("SELECT ID FROM USERS WHERE EMAIL IN('Email1','Email2')");
$Check->execute(array(
':Array' => $Array,
));
这可行,但我不会绑定数组以避免 SQL 注入。 我该如何解决?
【问题讨论】:
-
逗号分隔值不是好的设计。考虑规范化你的数据库