获取字段中最常见的条目时没有结果


No result when fetching the most common entry in a field

我觉得像门把手一样愚蠢。我能否得到一些关于为什么我没有在这里返回结果的建议。请你好心地把我从我的外衣里赶出来。

$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>";

检查这个。

$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>";

试试这个:

$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>";
执行

查询后,您错过了对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>";