Php MySQL IN()用于处理PDO查询

Php MySQL IN()用于处理PDO查询,php,mysql,pdo,Php,Mysql,Pdo,可能重复: 我用PHP和MySQL创建网站只是出于一种爱好,我的一生都在使用未经准备的语句,直到昨晚我决定尝试PDO查询。除了在()中使用外,我已成功地使它们全部工作。例如,当我这样做时: $stmt3 = $dbConnection->prepare("SELECT * FROM member_search WHERE zip IN(:zip_codes_in_distance)"); $stmt3->execute(array(':zip_codes_in_distance'

可能重复:

我用PHP和MySQL创建网站只是出于一种爱好,我的一生都在使用未经准备的语句,直到昨晚我决定尝试PDO查询。除了在()中使用外,我已成功地使它们全部工作。例如,当我这样做时:

$stmt3 = $dbConnection->prepare("SELECT * FROM member_search WHERE zip IN(:zip_codes_in_distance)");
$stmt3->execute(array(':zip_codes_in_distance' =>   $zip_codes_in_distance ));
foreach ($stmt3 as $user_list) {
   //do cool stuff here
}
这将返回以下错误:

Syntax error or access violation: 1064
在谷歌搜索之后,我尝试了一些解决方案,比如使用
query()
而不是
execute()

只有在()中使用
IN时才会发生这种情况。

距离中的
$zip\u代码是这种格式的zip代码“07110”、“07109”、“07050”


我做错了什么?

无法使用PDO使其正常工作,因此我改用MySQLi。 在单独的文件中建立数据库连接:

$Connect = new mysqli($host, DB_Username, DB_password, DB_Name);
按如下方式运行查询:

include 'DbConnectFIle.php';
$zips = "07110, 07109";
$sql = "SELECT * FROM table WHERE zip IN(".$zips.") ";
        $result = $Connect->query($sql);
        while($row = $result->fetch_assoc()){
                     $MemberName = $row['first_name'];
        }
$Connect->close();

echo $MemberName;
使用PDO尝试了四个小时,MySQLi是我让它工作的唯一方法。
我使用了本教程:

请看,即使在键入问题标题时,我也没有找到该链接,谢谢,现在查看。我曾经遇到过类似的问题,并发现此答案中的解决方案非常有用。这是一个数组问题。好的,现在用这些解决方案转换我的查询,看看我是否能让它工作,我会很快回复结果,谢谢你们两位的帮助。