php - 如何在不使用 PHP 循环的情况下返回 MySQL 结果数组

标签 php mysql loops join

<分区>

我正在尝试将此查询与另一个查询连接起来,但这需要在不离开此语句的情况下一次完成所有操作。

MySQL

"SELECT pid FROM posts WHERE uid = ? && state = 'a' ORDER BY time DESC LIMIT 5"

使用 PHP 的 while.

while($row = $get->fetch()){
    echo $row['pid'].' ,';
}

我得到类似:2,5,8,31,40

有没有办法在不退出查询的情况下获得相同的值?

类似于SELECT as returned_values

所以我可以这样做:$row['returned_values']; 并得到:“2,5,8,31,40”

最佳答案

只需使用 GROUP_CONCAT :

"select GROUP_CONCAT(pid) as returned_values from ( SELECT pid  FROM posts WHERE 
                            uid = ? 
                            && state = 'a' 

                            ORDER BY time DESC 
                            LIMIT 5) as s"

引用这个:http://www.mysqltutorial.org/mysql-group_concat/

关于php - 如何在不使用 PHP 循环的情况下返回 MySQL 结果数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35449891/

相关文章:

java - 将数组转换为多维数组 - Java

php - 抽象类-子类型

php - stream_set_timeout永远不会工作,无论超时多低

php - 使用不同类的 Android 发送 Json 对象

MySQL查询运行时间太长(简单LEFT JOIN)

node.js - 当循环中调用异步函数时,Node.JS 将如何处理循环控制?

php - 使用 PHP 5.3? : operator

php - 在 PHP 中同时执行多个 MySQL 数据库事件

php - 根据下拉选择填充多个sql查询

bash while 循环不会自行停止