博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php中的$this-%3efetch,Zend DB fetchAll(): where子句數組帶有IN操作符
阅读量:6279 次
发布时间:2019-06-22

本文共 1237 字,大约阅读时间需要 4 分钟。

I'm selecting records from a database using the equivalent of this query:

我使用與此查詢等價的方法從數據庫中選擇記錄:

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

The function calling fetchAll() has an argument that's an array of the user IDs, and this call works just fine:

調用fetchAll()的函數有一個參數,它是一個用戶id的數組,這個調用可以正常工作:

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

However, I would like to use an array for the where clause because there will probably be other restrictions to the query later... and I can't figure it out for the life of me. I thought it would be some variation on the following:

但是,我想為where子句使用一個數組,因為以后查詢可能會有其他限制……我也不知道這是怎么回事。我認為這將是一些變化如下:

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

But so far no dice. Can someone provide the correct syntax here?

但到目前為止還沒有機會。有人能提供正確的語法嗎?

3 个解决方案

#1

21

$data = array(1, 2, 3);

$select->where('user_id IN (?)', $data);

#2

2

In Zend 2

在Zend 2

$data = array(1, 2, 3);

$select->where('user_id', $data);

#3

0

$select = $this->getSql()->select();

$select->where("reports.user_id in ('3','6','22')");

$resultSet = $this->selectWith($select);

//echo $select->getSqlString();die;

return $resultSet;

转载地址:http://cknva.baihongyu.com/

你可能感兴趣的文章
可与Mirai比肩的恶意程序Hajime,竟是为了保护IoT设备?
查看>>
《Spring Data 官方文档》6. Cassandra 存储库
查看>>
聊聊并发(十)生产者消费者模式
查看>>
R语言数据挖掘2.2.4.2 FP-growth算法
查看>>
人工智能概念诞生60年,哪些大牛堪称“一代宗师”?
查看>>
《游戏大师Chris Crawford谈互动叙事》一9.5 真实案例
查看>>
Mybatis与Spring整合连接MySQL
查看>>
GCC知识
查看>>
实验4 IIC通讯与EEPROM接口
查看>>
几个smarty小技巧
查看>>
Cocos2d-x3.2 Grid3D网格动作
查看>>
Java (for循环综合应用)
查看>>
NodeJs——(10)REST风格的路由规则
查看>>
软件可扩展性:来自星巴克的经验
查看>>
Java Cache系列之Guava Cache实现详解
查看>>
深入Log4J源码之LoggerRepository和Configurator
查看>>
System V 消息队列—复用消息
查看>>
vi常用快捷键
查看>>
Code Jam 2010 Round 1A Problem A
查看>>
C语言柔性数组
查看>>