php - 如何用数组查询数据库?其中 = 'array()'

标签 php mysql sql arrays

我想知道如何使用数组查询数据库,如下所示:

$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/

相关文章:

php - 如何从查询中获取总计数?

php - 我做错了什么 "scrolling text bar"

mysql - Wordpress 自定义 SQL 以获取具有给定元值的三个帖子

mysql - 从 mySQL 存储过程发送电子邮件

SQL 更新行号

php - 文件生成器 PHP

php - 如何在wordpress模板中使用自己的php变量?

Mysql 更新之前首先检查是否有必要或只是更新?

sql - 以有效的方式从数组元素中获取所有可能的组合

c# - 更改datagridview日期列上的日期时间显示格式