MySQL 和 PHP 同步性健全性检查
我正在排除一个错误,并试图排除所有可能的解释,解释为什么我会目睹我的行为。我正在 PHP 中执行许多 MySQL 查询(通过 CodeIgniter 的 Active Record 类)我所看到的行为的一种解释是查询没有同步执行,即 PHP 在发出下一个查询之前不会等待查询完成。
我总是在这样的假设下进行编码:如果我通过 PHP insert
某些内容到 MySQL 表中,然后我的下一行代码执行 select
,我插入的结果将在下一个声明中提供。这种情况有例外吗?
I'm troubleshooting a bug and trying to rule out all possible explanations for why I'm witnessing the behavior that I am. I'm executing a number of MySQL queries in PHP (via CodeIgniter's Active Record class) and one explanation for the behavior that I'm seeing is that the queries aren't being executed synchronously, i.e. that PHP isn't waiting for the query to complete before issuing the next one.
I've always coded under the assumptions that if I insert
something into a MySQL table via PHP, and then my next line of code executes a select
, the results of my insertion will be available in the next statement. Are there any exceptions to this being the case?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您在相同服务器上选择它,并且使用相同会话/连接,并且您没有使用
INSERT DELAYED
,那么它应该存在确实如此,但是负载平衡的 MySQL 服务器/实现/缓存可能会将SELECT
转移到其他服务器或数据位置......If you select it on the same server, and are using the same session/connection, and you haven't used
INSERT DELAYED
it should exist indeed, but loadbalanced MySQL servers / implementations / caching may divertSELECT
's to other servers or data locations....