我在PHP中有一个简单的数组,比如说
[1, 2, 4, 5, 6, 7]
我希望查询MYSQL数据库
[1, who]
[2, where]
[3, some]
[6, there]
[9, too]
我只希望收到PHP数组和数据库的indices列之间的交集行。所以这会导致
[1, who]
[2, where]
[6, there]
有什么想法吗?谢谢!
答案 0 :(得分:4)
您需要sql in
关键字
SELECT id, title FROM tablename WHERE id IN (1, 2, 4, 5, 6, 7)
您可以使用以下方式准备号码列表:
$nums = array(1, 2, 4, 5, 6, 7)
$sql = 'SELECT id, title FROM tablename WHERE id IN (' . implode(',', $nums) . ')';
修改:您可以确保您的输入仅包含array_filter
的数字:
$nums = array_filter($nums, 'is_numeric');