[英]Query error MySQL php
我是php和sql的新手,如果未选择任何内容,则尝试从此表中获取所有结果,但由于某种原因,它始终显示一个结果。 任何想法为什么
$query = "SELECT *, ROUND(AVG(d.rating),0) FROM restaurant AS r, review AS d WHERE 1=1 ";
if($vicinity) $query .= "AND r.vicinity=\"$vicinity\" ";
if($cuisine) $query .= "AND r.cuisine=\"$cuisine\" ";
if($price) $query .= "AND r.price=\"$price\"";
if($name) $query .= "AND r.name LIKE \"%$name%\"";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
我只拿到桌子上的第一件
我会亲自调查PDO。 您可以在此处的手册中找到很多相关信息。
猜测您只会得到一个结果,因为没有group by的avg调用会触发一些有趣的行为。 尝试添加一个分组,我想您也希望将餐厅和评论与加入相关联。 例如:
$query = "SELECT *, ROUND(AVG(d.rating),0) FROM restaurant AS r LEFT JOIN review AS d on r.id = d.restaurant_id WHERE 1=1";
...
...
$query .= ' GROUP BY r.id';
$result = mysql_query($query);
每个线程听起来也应该考虑准备好的语句:)。 而SELECT *
也可能只是SELECT r.*
-评分结果的*结果的一部分返回的数据在(r。*和round(avg(d.rating), 0)应该是值)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.