php - mySQL - Group By 在本地主机上不起作用
问题描述
我有一个问题,Group By 在我的本地主机上的 PHP 代码中不起作用,但是当我在终端和 mySQLworkbench 中将它作为查询运行时它可以工作。这是针对网站上的库存功能。
这是有问题的代码行:
SELECT i.id, i.itemID, ii.name, ii.category, ii.rarity, ii.image
FROM inventory AS i
LEFT JOIN items AS ii ON i.itemID = ii.itemID
WHERE userID = 1
GROUP BY i.itemID ORDER BY i.id DESC LIMIT 1, 5
我试图做的是在 PHP 中运行它,就像我们运行具有多个结果的查询并输出每一行(使用 foreach)一样。
如果我把 GROUP BY 去掉,查询在 PHP 中运行良好,但不幸的是,我需要 GROUP BY,并且将来我会再次需要它来获得其他功能。
如果这很重要,我正在运行 mysql 5.7.21 Homebrew 和 PHP 5.6(该站点有点旧)。
该查询在站点的生产和开发服务器上运行。
编辑 忘了提,我试过运行这段代码 - 没有解决问题:
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
编辑 这是 PHP 代码:
$items = database::retrieveAllRows( database::query("
SELECT i.id, i.itemID, ii.name, ii.category, ii.rarity, ii.image
FROM inventory AS i LEFT JOIN items AS ii ON i.itemID = ii.itemID WHERE userID = %u
GROUP BY i.itemID ORDER BY i.id DESC LIMIT $limit, $pageLimit", $id) );
retrieveAllRows 是我们的功能之一:
public function retrieveAllRows ( array $res )
{
if ( $this -> validateResultSet ( $res ) === FALSE )
{
return ( NULL );
}
return ( $res [ 0 ] -> fetchAll () );
}
解决方案
推荐阅读
- swift - 使用协议集获取具有 nil 值的 var
- python - 如何在python中遍历字典中的键和值
- google-cloud-platform - 我可以为 Pub/Sub 消息指定 ttl 吗?
- css - 移动应用到桌面的媒体查询
- glassfish - 端口从 8080 活动到 80 时不会被重定向
- oauth-2.0 - 在公共仓库中共享 client_secret.json 有什么风险?
- go - 在运行时使用反射创建切片实例
- java - 如何按 Java List 中对象的属性进行分组?
- java - 我什么时候应该跨多个线程使用不同的实例或共享实例?
- c# - 如何拆分列表框中的第一行并将其复制到c#中的webbrowser1 elemnt