php - MySql select field_1 where X = field_2 for all supplied Xs in a single query

标签 php mysql codeigniter

如何在单个查询中获取与提供的 ID 对应的所有“名称”列?

假设我有一个像这样的 php 数组 $ids = [ '1', '3', '7', '24', ... ]; 那么,是否有可能得到下表中的“名称” WHERE $ids[i]='id' 在该表中,全部在单个查询中,或者我是否需要使用 for 循环?

CREATE TABLE `services` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL DEFAULT '',
  `description` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`) USING BTREE
)

我正在使用 CodeIgniter。

最佳答案

您可以为此使用where_in

$ids = [ '1', '3', '7', '24', ... ];
$this->db->select('name');
$this->db->from('services');
$this->db->where_in('id', $ids);

关于php - MySql select field_1 where X = field_2 for all supplied Xs in a single query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32449566/

相关文章:

php - 关闭后 IntelliJ PHP 应用程序丢失模块

php - 如何使用 php 和 mysql 检查数据库字段创建 3 天后更改的状态?

mysql - 插入触发器更新某些列

php - 跨 2 个表的 Mysql SQL 查询 - 不确定如何正确执行

javascript - 删除 HTML 标签并考虑文本区域中的换行符

php - PHP变量传递值后始终为空

php - 如何使用php测试服务器是否支持文件上传

php - 将 MySQL 结果转换为简单数组的最佳方法是什么?

php - 登录后重定向到原始页面(Codeigniter)

javascript - 我如何使用 Codeigniter 在可滚动部分创建一个无限向下滚动的网格加载器?