使用mysqli访问表时遇到问题

时间:2013-08-13 09:07:56

标签: php mysql mysqli

我的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 的问题。

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。

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

很抱歉打扰并感谢所有想要帮助的人!

度过愉快的一天。