1
我执行这个查询如何解决子查询返回超过10行错误
$sql=mysql_query("SELECT c.*,
(SELECT Count(b.text) From tbl_people_comment Where b.idsms=c.id AND b.visible=1) AS ccomment
FROM tbl_peoplesms AS c
INNER JOIN tbl_people_comment AS b ON b.idsms= c.id
WHERE c.visible=1
GROUP BY c.id");
我试图让它返回这样的事情在PHP
[
{
"id":"20",
"name":"test",
"text":"test",
"visible":"1",
"ccomment":"5"
},
{
"id":"19",
"name":"test",
"text":"test",
"visible":"1"
"ccomment":"7"
}
]
我使用此代码显示它
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print(json_encode($output, JSON_UNESCAPED_UNICODE));
但是,我收到错误子查询返回多于1行。
这是tbl_peoplesms tbl_peoplesms
和tbl_people_comment tbl_people_comment
所以你需要重写子查询,只返回一行。简单的解决方案是给子查询添加“LIMIT 1”,但是鉴于您似乎并不指望多行被返回,您可能在别处遇到问题。虽然看着你的查询,但它不可能返回多行。你确定这是正确的查询吗? –
我添加了我的表格。可以为我写一个查询吗? –
其实在你的问题查询不应该给你提到的错误。因为你的子查询是一个'select count()',没有'group by' ......你没给我们提供原始的错误代码 –