0

我对 php mysqli 扩展有一个奇怪的问题。在我本地的 LAMP 安装上一切正常。

在最终生产环境中测试我的网站后,我遇到了奇怪的错误。

这是我网站内部 SQL 日志文件的摘录:

[SUCCESS] SELECT * FROM `tbl1` ORDER BY `created` DESC LIMIT 20;
[ERROR]   SELECT * FROM `tbl1` ORDER BY `created` DESC LIMIT 20; 
          (Table 'dbname.tbl1' doesn't exist)
[SUCCESS] SELECT * FROM `tbl1` ORDER BY `created` DESC LIMIT 20;
[SUCCESS] SELECT * FROM `tbl1` ORDER BY `created` DESC LIMIT 20;

出于测试目的,我在一个函数中执行了四次相同的查询。四分之三的查询成功。失败的查询返回错误:表 'dbname.tbl1' 不存在。

这个问题总是出现在不同的表和不同的函数中。有时tbl1不见了,按 F5 后tbl2似乎不见了......

我的服务器设置似乎有问题,因为查询总是在我的本地开发环境中工作,但有时只能在生产环境中工作。

有谁知道什么可能导致这个问题?

编辑:我忘了提及:切换到正常的mysql php 扩展时,一切正常。mysqli似乎确实有问题。

4

1 回答 1

1

我解决了这个问题。

我的 mysql-proxy 设置有问题。它有时会失去与后端服务器的连接。这导致未找到表错误。

很抱歉打扰并感谢所有试图提供帮助的人!

祝你今天过得愉快。

于 2013-08-14T09:05:54.663 回答