php - Zend 数据库 fetchAll() : where clause array with IN operator

标签 php sql zend-db

我正在使用与此查询等效的方法从数据库中选择记录:

SELECT * FROM reports WHERE user_id IN (3, 6, 22);

调用 fetchAll() 的函数有一个参数,它是一个用户 ID 数组,这个调用工作得很好:

$resultSet = $this->getDbTable()->fetchAll('user_id IN (' . implode(', ', $userIds) . ')');

但是,我想为 where 子句使用一个数组,因为稍后可能会对查询有其他限制……而且我一辈子都弄不明白。我认为它会在以下方面有所变化:

$resultSet = $this->getDbTable()->fetchAll(array('user_id IN ?' => '(' . implode(', ', $userIds) . ')'));

但到目前为止还没有骰子。有人可以在这里提供正确的语法吗?

最佳答案

$data = array(1, 2, 3);
$select->where('user_id IN (?)', $data);

关于php - Zend 数据库 fetchAll() : where clause array with IN operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284326/

相关文章:

php - 在表中插入新行和自动 ID 号

sql - 这些数据库表的最佳设计是什么?

mysql - Zend_Db last_insert_id 返回超大数

php - 我如何在 Zend 的 application.ini 文件中定义一个 mysql 连接?

php - Zend_Db_Expr NOW() 不起作用?

php - 在 Godaddy 主机上设置 CodeIgniter 站点

php - 从选择选项字段中获取 ID 并在所选用户中更新它

php - 如何使用通过 jQuery 的 AJAX 发布请求 + php 发送的数组?

python - 在 Django 管理中搜索时出错

sql - 更新许多特定行上的相同数据