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