Php 使用mysqli访问表时遇到问题

Php 使用mysqli访问表时遇到问题,php,mysql,mysqli,Php,Mysql,Mysqli,我对php mysqli扩展有一个奇怪的问题。在我的本地灯具安装上,一切正常 在最终的生产环境中测试了我的站点之后,我发现了一些奇怪的错误 这是我的站点内部SQL日志文件的摘录: [SUCCESS] SELECT * FROM `tbl1` ORDER BY `created` DESC LIMIT 20; [ERROR] SELECT * FROM `tbl1` ORDER BY `created` DESC LIMIT 20; (Table 'dbname.tbl1

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

在最终的生产环境中测试了我的站点之后,我发现了一些奇怪的错误

这是我的站点内部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的问题。

我解决了这个问题

我的mysql代理设置有问题。它有时会失去与后端服务器的连接。这导致“找不到表”错误

很抱歉打扰您,感谢所有试图帮助您的人


祝您愉快。

您的数据库名实际上是“dbname”吗?您是否有多个数据库?您是否有使用错误数据库连接的函数/文件?我认为最好的办法是找出错误与查询运行的时间/地点/原因之间是否存在关联。谢谢您的输入。我的数据库不是dbname。我只是试图在这里简化问题描述。由于应用程序只使用一个db接口类和db配置,我认为不可能存在任何具有错误db连接的函数/文件。很难找到相关性,因为错误看起来确实是完全随机的!我知道您的数据库并不是完全称为dbname,我只是想知道所提到的字符串“dbname”是否与数据库的名称相同。如果您的数据库被称为
dbnameA
,并且它显示
dbnameB
,这就是可能找不到该表的一个明显原因:)。对于数据库连接:是否有一个测试连接挂在某处?如果发生错误,您不能收集一些相关的调试信息吗?您可以显示您的连接查询吗?