我对 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似乎确实有问题。