mysql在空结果集上使用order-by崩溃

tkclm6bt  于 2021-06-15  发布在  Mysql
关注(0)|答案(0)|浏览(220)

我刚刚在本地服务器上升级到PHP8.0,现在mysql(mysql版本14.14发行版5.7.32,linux(x86_))出现以下问题:

SELECT * FROM `countries` WHERE countryname = 'alkdfj';

但是,按预期返回一个空行

SELECT * FROM `countries` WHERE countryname = 'alkdfj' ORDER BY countryname;

导致mysql不返回(而不是空行)。在phpmyadmin中,错误消息为:

Error in processing request
Error code: 500
Error text: Internal Server Error (rejected)

而在我的网站上,php只是停止创建页面。
在我的生产站点上,仍然运行php7.0之类的,没有问题。
我已经测试了几个例子,似乎空结果集和 ORDER BY 导致mysql崩溃,因为我已经更新到PHP8.0。怎么了?
补充以下评论:非常感谢你的评论,即使我可以看到我的问题不清楚。你可能已经猜到了,我是自学成才的。
@我不知道“网络服务器日志”在哪里。我会努力找到的。
@粘性位:下面是我尝试使用pma生成错误500的最小可再现示例:

CREATE TABLE countries (
    countryname varchar(100),
    capital varchar(100)
); 
INSERT INTO countries
VALUES ('Denmark','Copenhagen'); 
INSERT INTO countries
VALUES ('Sweden','Stockholm'); 
INSERT INTO countries
VALUES ('Norway','Oslo'); 
SELECT * FROM `countries` WHERE countryname = 'alkdfj' ORDER BY countryname;

如果我删除最后一个“orderbycountryname”,没有问题。
除了pma之外,我没有其他客户机,除了我的php网站,在php8.0下同样的问题也会发生。
@阿基娜,我再次为任何不明确道歉。我原来问题中的第一个查询结果是空行集。第二个查询没有结果。我不知道怎么说得更清楚些,但也许全部加起来会有助于解释。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题