Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql子查询中的限制_Php_Mysql_Json_Limit - Fatal编程技术网

Php mysql子查询中的限制

Php mysql子查询中的限制,php,mysql,json,limit,Php,Mysql,Json,Limit,我对MySQL语句有问题 我有这个: SELECT ad.*, (SELECT img.image FROM '.$this->config->db_prefix.'_images AS img WHERE img.aid = ad.aid LIMIT 1) AS img FROM '.$this->config->db_prefix.'_adverts ad WHERE fid = :fid ORDER BY cr_date DESC 这很

我对MySQL语句有问题

我有这个:

SELECT ad.*, 
  (SELECT img.image 
   FROM '.$this->config->db_prefix.'_images AS img 
   WHERE img.aid = ad.aid LIMIT 1) AS img 
FROM '.$this->config->db_prefix.'_adverts ad 
WHERE fid = :fid 
ORDER BY cr_date DESC
这很好,但我需要从
\u images
表中获取所有图像,因此如果我删除
LIMIT 1
,我将获得

Cardinality violation: 1242 Subquery returns more than 1 row

SQL的结果作为JSON输出。

您遇到的问题是,当您说select时,mysql希望一次得到一个条目。看看mysql连接语句

您可以使用MySQL聚合函数:

SELECT ad.*, (SELECT GROUP_CONCAT(img.image) FROM '.$this->config->db_prefix.'_images AS img WHERE img.aid = ad.aid) AS img FROM '.$this->config->db_prefix.'_adverts ad WHERE fid = :fid ORDER BY cr_date DESC
然后在php或javascript中使用它

SELECT ad.*, (SELECT GROUP_CONCAT(img.image) FROM '.$this->config->db_prefix.'_images AS img WHERE img.aid = ad.aid) AS img FROM '.$this->config->db_prefix.'_adverts ad WHERE fid = :fid ORDER BY cr_date DESC