Php 数据库移动后的SQL错误
这让我感到困惑,我相信这是一个简单的解决办法 我通过数据库从一台服务器移动到另一台服务器。创建了具有正确权限的新帐户等 在我的一些脚本中,mySQL输出以下错误: PHP警告:发送查询数据包时出错。PID= 我检查了max_allowed_数据包,新旧服务器之间的数据包是相同的 我正在运行的SQL语句是:Php 数据库移动后的SQL错误,php,mysql,pdo,Php,Mysql,Pdo,这让我感到困惑,我相信这是一个简单的解决办法 我通过数据库从一台服务器移动到另一台服务器。创建了具有正确权限的新帐户等 在我的一些脚本中,mySQL输出以下错误: PHP警告:发送查询数据包时出错。PID= 我检查了max_allowed_数据包,新旧服务器之间的数据包是相同的 我正在运行的SQL语句是: UPDATE TABLE WHERE ID = :ID 数据包大小应该是无关的;ID只是一个数字 与其他UPDATE语句一样,权限也可以 在副本方面,我缺少什么吗?尝试将mysql配置中的w
UPDATE TABLE WHERE ID = :ID
数据包大小应该是无关的;ID只是一个数字
与其他UPDATE语句一样,权限也可以
在副本方面,我缺少什么吗?尝试将mysql配置中的
wait\u timeout
设置为更高的值,例如28800
Php可能由于较低的
wait\u timeout
值而丢失与mysql守护程序的连接。连接可能由于超时设置而中断。检查您的等待超时值
SHOW SESSION VARIABLES LIKE "wait_timeout";
SHOW GLOBAL VARIABLES LIKE "wait_timeout";
如果需要,设置为更高的值
SET @@GLOBAL.wait_timeout = 28800
这也可能是设置允许的最大数据包大小的问题
要更改设置,请在my.ini文件中。在文件中的[mysqld]下包含一行
max_allowed_packet=500M
现在重新启动MySQL服务,您就完成了。在每次数据库交互之后,您的代码是否执行了适当的错误检查和诊断显示/日志记录?如果没有,现在你有一个很好的理由来修复它。实际错误可能发生在其他地方,但代码忽略了它在不一致状态下的操作,因此发送数据包时出错。我很惊讶您的服务器上也没有收到查询语法错误。mysql之外可能设置了一个最大阈值,该阈值会拒绝请求或向数据包中添加大量数据,从而导致您收到错误。我会向您的主机提供商提交一份支持案例,以获取他们对该问题的意见。@SashaPachev是的,我会对PDO和一般错误以及诊断日志进行错误检查。您使用的是持久连接吗?这样做了!我还要再等八个小时才能给你赏金