Php в MYSQL функция не работает - PullRequest
0 голосов
/ 22 января 2010
$result = mysql_query("SELECT avg(r.rate) FROM rate r where ImgName='1'");

этот php не работает.

Первоначально мой код

<?php
$con = mysql_connect("localhost","root","sql");

if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("photogallery", $con);

$result = mysql_query("SELECT avg(r.rate) FROM rate r ");
echo "<table border='0' cellspacing='5'>";
echo "<th> Average Rating </td>";

while($row = mysql_fetch_array($result))
{
    echo "<tr>";
    echo "<td> " . $row['rate'] . "</td>";
    echo "</tr>";
}

echo "</table>";

mysql_close($con);
?> 

вышеприведенное не показывает выход.

но измените код, т. Е. Затем он работает.

$ result = mysql_query ("SELECT r.rate FROM rate r");

но я хочу агрегатная функция

заранее спасибо

Ответы [ 2 ]

2 голосов
/ 22 января 2010

вы можете использовать псевдоним:

SELECT avg(r.rate) AS rate_average
  FROM rate r
 WHERE ImgName='1'

и вывод:

echo "<td> " . $row['rate_average'] . "</td>";
0 голосов
/ 22 января 2010

Ваш запрос производит скаляр, а не набор строк. Если вы хотите получить среднюю цену за единицу, вы должны сделать что-то вроде:

SELECT avg(r.rate) FROM rate r GROUP BY ItemIdColumn

И да, если вы хотите извлечь значение по имени столбца, вы должны использовать псевдоним, как упоминалось в knittl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...