$query = mysql_query
(
"SELECT first_name,
COUNT(first_name) AS answer
FROM orders
GROUP BY first_name
ORDER BY answer DESC
LIMIT 1"
);
echo "<p>The most frequent customer is $result</p>";
答案 0 :(得分:1)
检查一下..
$query = mysql_query("SELECT first_name, COUNT(first_name) AS answer
FROM orders
GROUP BY first_name
ORDER BY answer DESC
LIMIT 1");
$result = mysql_fetch_assoc($query);
echo "<p>The most frequent customer is " . $result["first_name"] . "</p>";
答案 1 :(得分:0)
试试这个:
$result = mysql_query("SELECT first_name, COUNT(first_name) AS answer FROM orders GROUP BY first_name ORDER BY answer DESC LIMIT 1");
$array = mysql_fetch_assoc($result);
echo "<p>The most frequent customer is ".$array[0]['first_name']."</p>";
答案 2 :(得分:0)
执行查询后,您错过了对mysql_fetch_array()
的调用。查询也可以是INSERT
操作或类似操作。它只返回有关请求本身的信息(例如,它是否成功,是附加到它的结果?),而不是信息本身。
这与数据库本身有关:信息作为所谓的游标返回,您可以根据需要进行迭代。因此,并非所有结果都必须一次保存在内存中。例如。你不可能只有一个结果,但在一百万行。在某些时候,这可能对你的记忆太过分了。然后,光标和行式迭代有很多帮助。
所以,你需要打电话:
$query = mysql_query("SELECT first_name, COUNT(first_name) AS answer
FROM orders
GROUP BY first_name
ORDER BY answer DESC
LIMIT 1");
$result = mysql_fetch_array($query); // will retrieve the first row from the result
// if you have multiple rows (not LIMIT 1), you would have to call it again and again
echo "<p>The most frequent customer is $result['first_name']</p>";