php sql in条件查询,php – 带有IN子句的Symfony2.3原始sql查询

回答:

所以你做的至少有两个错误.第一个是@Alarid所说的:你不应该破坏你的阵列.第二个是在运行预准备语句时必须使用DoctrineDBALTypes Conversion for IN子句.

最后你的查询是这样的:

$stmt = $this->getDoctrine()->getEntityManager()

->getConnection()

->prepare('SELECT t1.id , t1.name , t2.start_date , t2.end_date

FROM table1 t1 , table2 t2

WHERE t1.id = t2.matchId AND t1.id IN (:ids)');

$stmt->bindValue('ids', $idSArray, \Doctrine\DBAL\Connection::PARAM_INT_ARRAY);

$stmt->execute();

或替代方案:

$stmt = $this->getDoctrine()->getEntityManager()

->getConnection()

->executeQuery('SELECT t1.id , t1.name , t2.start_date , t2.end_date

FROM table1 t1 , table2 t2

WHERE t1.id = t2.matchId AND t1.id IN (:ids)',

array('ids' => $idSArray),

array('ids' => \Doctrine\DBAL\Connection::PARAM_INT_ARRAY)

)

;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值