我想知道如何使用数组查询数据库,如下所示:
$query = mysql_query("SELECT * FROM status_updates WHERE member_id = '$friends['member_id']'");
$friends
是一个包含成员 ID 的数组。我正在尝试查询数据库并显示所有结果,其中 member_id
等于 $friends
数组中的成员 ID 之一。
有没有办法做类似 WHERE = $friends[member_id]
的事情,或者我必须将数组转换为字符串并像这样构建查询:
$query = "";
foreach($friends as $friend){
$query .= 'OR member_id = '.$friend[id.' ';
}
$query = mysql_query("SELECT * FROM status_updates WHERE member_id = '1' $query");
非常感谢任何帮助,谢谢!
最佳答案
你想要IN
.
SELECT * FROM status_updates WHERE member_id IN ('1', '2', '3');
所以代码改为:
$query = mysql_query("SELECT * FROM status_updates WHERE member_id IN ('" . implode("','", $friends) . "')");
根据 friends 数组中数据的来源,许多人希望通过 mysql_real_escape_string()
传递每个值,以确保没有 SQL 注入(inject)。
关于php - 如何用数组查询数据库?其中 = 'array()',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5971793/