我试图从mysql数据库中的表中选择元素,其中行的id在给定数组中。从数据库中选择给定数组中的id
这将返回值:
<?php
$ids = '1,2,3,4';
$DBH = ....
$getID = $DBH->prepare("SELECT * FROM t1 WHERE id IN ($ids)");
$getID->execute();
?>
这将返回什么:
<?php
$ids = '1,2,3,4';
$DBH = ....
$getID = $DBH->prepare("SELECT * FROM t1 WHERE id IN (:ids)");
$getID->execute(array(':ids'=>$ids));
?>
我不明白什么是错的代码。
什么是:ids?在你的第二个查询........它会给你1,2,3,4输出当你执行查询 – 2013-02-13 14:06:06
尝试更改$ ids从字符串到数组像这样$ ids = array('1',' 2','3','4') – Ateszki 2013-02-13 14:08:16
你的第一个代码应该工作。问一个明显的问题,表t1是否包含一个列'罐''?此外,不是它影响它,但$ ID实际上是一个字符串不是数组。 – KevInSol 2013-02-13 14:11:51