我在这里遇到了问题,我想从表格中检索记录,条件如下:
table:
ID NAME
1 name1
2 name2
3 name3
4 name4
5 name5
$idlist = array(1,2,3,4);
SELECT * FROM tablename WHERE id='$idlist'
与正常情况不同,我想通过使用$ idlist数组所持有的id列表来获取所有记录。 在此先感谢
答案 0 :(得分:2)
使用IN
关键字来实现目标
$idlist = array(1,2,3,4);
$idlist_str = implode(",",$idlist);
SELECT * FROM tablename WHERE id IN ($idlist_str);
参见 implode
请参阅IN
答案 1 :(得分:0)
您可以使用MYSQL IN
子句,它需要以逗号分隔的ID。
您需要将数组转换为使用
PHP implode 。
参见 MYSQL IN
$idlist = array(1,2,3,4);
$IDs = implode(',',$idlist);
SELECT * FROM tablename WHERE id IN ('$idlist');
SQL小提琴Demo。
答案 2 :(得分:0)
SELECT *
FROM table
WHERE id IN(1,2,3,4)
请尝试这个
答案 3 :(得分:0)
你应该使用implode函数:
'SELECT * FROM tablename WHERE id IN (' . implode(',', $idlist) . ')'