错误的MySQL查询

拉斐尔·里贝罗(Rafael Ribeiro):

我有一个mysql表,其中“ meeting_id”是一个列。我只需要在表POLLS上显示与此会议ID相关的结果

实际查询是:

$stmt = $pdo->prepare('SELECT p.*, GROUP_CONCAT(pa.title ORDER BY pa.id) AS answers 
                        FROM polls p 
                        LEFT JOIN poll_answers pa ON pa.poll_id = p.id 
                        GROUP BY p.id');

我尝试过但没有成功:

$stmt = $pdo->prepare('SELECT p.*, GROUP_CONCAT(pa.title WHERE meeting_id = '.$meeting_id.' ORDER BY pa.id) AS answers 
                        FROM polls p 
                        LEFT JOIN poll_answers pa ON pa.poll_id = p.id 
                        GROUP BY p.id');

谢谢你们

巴尔玛:

WHERE子句不在内部GROUP_CONCAT(),它在FROM之后JOIN

您还应该使用参数,而不是变量串联。

$stmt = $pdo->prepare('SELECT p.*, GROUP_CONCAT(pa.title ORDER BY pa.id) AS answers 
                        FROM polls p 
                        LEFT JOIN poll_answers pa ON pa.poll_id = p.id 
                        WHERE p.meeting_id = :meeting_id
                        GROUP BY p.id');
$stmt->bindParam(':meeting_id', $meeting_id);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章