登录  /  注册
PDO IN() 数组语句 AND 占位符
P粉832490510
P粉832490510 2023-10-23 21:43:13
[MySQL讨论组]

我在 SO 上找到了这段代码,它非常适合一起使用 PDO 和 IN() 语句。

$values = explode(',', $values) ; # 1,4,7

$placeholders = rtrim(str_repeat('?, ', count($values)), ', ') ;
$query = "SELECT * FROM table WHERE id IN ($placeholders)";

$stm = $db->prepare($query) ;
$stm->execute($values) ;

但是,如何在查询中混合其他内容,使查询看起来像这样:

$query = "SELECT * FROM table WHERE id IN ($placeholders) AND product=?";
$stm = $db->prepare($query) ;
$stm->execute(array($values,$product)) ; //error happens when adding product placeholder

我认为这会起作用,但我得到:

警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: 无效参数数量:绑定变量数量与第 3 行中的标记数量不匹配($stm线)

知道如何让它按预期运行吗?

更新执行到数组,仍然不起作用..

P粉832490510
P粉832490510

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号