SQL表列名character_zone致PHP页面报错,修改列名后恢复正常求因
MySQL 5.6.43: "MySQL server has gone away" 错误仅在使用列名 "character_zone" 时出现
各位好,想请教一个特别奇怪的问题:我有个专业托管的MySQL 5.6.43数据库,已经稳定运行一年多,期间完全没更新或修改过数据库软件。结果最近在PHP页面执行测试查询时,突然弹出了两个错误:
mysqli_query(): MySQL server has gone away
mysqli_query(): Error reading result set's header
我已经翻来覆去检查过代码了,但也难保自己有没有漏掉什么明显的点,所以想问问有没有人碰到过类似情况,非常感谢大家的帮助!
目前排查出来的关键细节:
- 我把问题根源追到了表的列名
character_zone上:只要把这个列名改成character_zonea,同步更新PHP里的查询语句后,所有错误立刻就消失了。 - 数据库连接用的
$con变量完全没动过,项目里其他地方用这个连接都正常得很。 - 数据库路径没改,SQL相关的限制也没人动过。
出错的查询代码:
$query = "SELECT * FROM app_characters WHERE character_zone = 'ZZZZZZZ'"; $result = mysqli_query($con, $query) or die(mysqli_error($con));
就挺纳闷的,为啥单单这个列名会触发服务器断开的错误呢?
内容的提问来源于stack exchange,提问作者theraveboss
相关产品推荐
相关产品推荐

