首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDO错误:带有多个查询的prepare()在事务中不起作用

问PDO错误:带有多个查询的prepare()在事务中不起作用
EN

Stack Overflow用户
提问于 2012-03-08 16:44:05
回答 1查看 480关注 0票数 1

在寻找上一个问题的解决方案时,我遇到了一个奇怪的事实-带有多个查询的PDO prepare()在事务中不能正常工作。你没有得到任何警告,没有异常,什么也没有--只有静默和没有提交/回滚。

此外,即使除第一个查询之外的一些查询包含错误,您也不会得到异常。但是,如果第一个查询包含错误,则会得到预期的异常。

如果没有事务,一切都会正常工作。

如果您在单个事务中放置了多个prepare()语句(每个语句都有一个查询)-同样,一切都可以正常工作。

我读到过MySQL不支持具有多查询的预准备语句,但问题是,在默认情况下,PDO不处理真正的MySQL预准备语句,而只是模拟它们。

我花了一整天的时间试图找到一些描述这个问题的文档,但我失败了。

有没有人知道这是否真的是一个PDO bug?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-29 22:20:48

这种行为在某些版本上实际上是一个错误(在PHP 5.4.6-Ubuntu和PHP 5.4.19-Windows上进行了测试)。

没有关于这个问题的(容易找到的)文档,唯一的解决办法是使用多个准备好的语句。

刚刚报告了https://bugs.php.net/bug.php?id=65994的错误

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9614876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档