我需要在db中选择多行(使用MYSQL)。 我通过迭代id数组来创建以下查询:
$ids = array(1,2);
$idq = array();
$q = "SELECT * FROM table_name WHERE ";
foreach($ids as $id)
{
$idq[] = "`ID` = '" . $id . "'";
}
$q .= implode(" AND ", $idq);
SELECT * FROM table_name WHERE `ID` = '1' AND `ID` = '2'
出于某种原因,它似乎无法发挥作用:
以上不会奏效。有更好的方法吗?
当我做的时候
`SELECT * FROM table_name WHERE `ID` = '1'`
它工作正常,但当我添加AND
ID = '2'
时,它根本不起作用。
先谢谢
答案 0 :(得分:2)
使用WHERE IN
SELECT * FROM table_name WHERE
编号IN ('1', '2')
答案 1 :(得分:2)
SELECT * FROM table_name WHERE `ID` = '1' AND `ID` = '2'
ID不能同时为1和2。你应该使用OR。
SELECT * FROM table_name WHERE `ID` = '1' OR `ID` = '2'
或
SELECT * FROM table_name WHERE `ID` IN (1,2,...)
答案 2 :(得分:0)
SELECT * FROM table_name WHERE ID
='1'AND ID
='2'
您是说:我想在同一天的下午5点去海滩滑雪。结果:不可能。您可以去海滩或滑雪。因此您的查询应如下所示:
SELECT * FROM table_name WHERE ID
='1'或ID
='2'
要么
SELECT * FROM table_name在(1,2)中的ID