我有一个数组可以说:数组([0] => 9 [1] => 7 [2] => 8)
我想从表(用户)中选择所有电话号码,其中userID与数组中的一个匹配(如果列出了电话号码)。
我想这样做而不选择数据库中的所有用户,只有那些与数组相匹配的用户和实际的电话号码,我应该在循环中这样做吗?
通常当我进行UPDATE时,我会在foreach循环中执行此操作。像这样:
foreach($userArr as $user) {
$pid = $user;
if(!$statement->execute()) {
throw new Exception($statement->error, $statement->errno);
}
}
$statement->close();
我们也能这样做SELECT吗?
提前感谢任何建议。
答案 0 :(得分:4)
如果您想选择所有这些用户,请执行以下操作:
$idList = implode(',', $yourArray);
$sql = "SELECT * FROM users WHERE id IN($idList)";
// execute this $sql query
答案 1 :(得分:1)
试试这个:
<?php
$array = array(9, 7, 8);
$query = "SELECT * FROM mytable WHERE id = ";
$condition = implode(' OR id = ', $array);
$query .= $condition;
echo $query;
?>
输出:
SELECT * FROM mytable WHERE id = 9 OR id = 7 OR id = 8
答案 2 :(得分:0)
您应该执行以下操作:
示例:强>
SELECT * FROM `Users` WHERE id IN (id1, id2, id3)