Possible Duplicate:
MySQL query using an array
Passing an array to mysql

我有一个PHP数组:

$array = array(1, 4, 5, 7);

如您所见,我有一个不同值的数组,但我想编写一个MYSQL语句,判断数组中任何值的id是否为equal.例如,如果一行的id为1,它将返回该行,与4、5和7相同.由于程序的性质,数组的长度可能会有所不同,所以这就是问题所在.我能不能:

SELECT ...
  FROM ...
 WHERE id = '$array'

还是有更好的方法

推荐答案

使用IN.

$sql = 'SELECT * 
          FROM `table` 
         WHERE `id` IN (' . implode(',', array_map('intval', $array)) . ')';

Mysql相关问答推荐

外部磁盘上的MySQL表空间和数据文件

为什么Mysql会根据查询参数改变查询执行计划?

global max_connections 和 spring.hikari.maximumPoolSize 有什么区别?

排序子查询结果并返回每个 ID 的第一行

SQL查询以查找两个特定行的总和

有没有比使用 MySQL 计划事件更好的方法来更新我的数据库表中的列?

如何将结果列中的不同值按其他列sql中的值带入单行

Django中的MYSQL查询等效

创建表时我的 SQL 语句有什么问题

为什么 fetch 方法不能获取任何东西?(feat node.js,restAPI)

Golang Gorm没有从关联表中检索数据

如何按给定开始日期和结束日期的月份汇总?

如何在 MySQL 中 Select 字段具有最小值的数据?

在 MySQL 中,我应该 Select 哪种排序规则?

获取Count(*)占GROUP BY中所有项目数的百分比

从 MYSQL 查询中计算列的平均值

mysql 按日期 Select 总和组

MySQL 整数与日期时间索引

如何在 MySQL 中删除此索引?

Yii2 如何进行 where AND 或 OR 条件分组?