2010-11-30 34 views
1

我在PHP問題,最大的SQL函數

$max="SELECT MAX(num) FROM info"; 
$maxquery= mysql_query($max) or die (died); 
while($row = mysql_fetch_array($maxquery)){ 
    echo "The max num is ". $row['num']."this is it"; 
} 
$maxnum= mysql_fetch_array($maxquery); 
echo "<br>".$maxnum."hh"; 

這個代碼,然後輸出爲:

最大num是這是它

HH


爲什麼沒有查詢獲​​得最大數量?

該表稱爲info,它具有這些字段ID,數量,標題,描述和答案。


編輯完成後:

我想我的查詢在MySQL和正常工作!

「SELECT MAX(NUM)FROM信息」

,這是我的完整代碼,如果它能夠幫助:

<?php 
    $answer=$_GET["answerbox"]; 
    $ID=$_GET["TheID"]; 

    $host="localhost"; 
    $username="root"; 
    $password=""; 
    $db_name="game"; 
    mysql_connect("$host","$username","$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB"); 

    $max="SELECT MAX(num) FROM info"; 
    $maxquery= mysql_query($max) or die (died); 
    while($row = mysql_fetch_array($maxquery)) { 
     echo "The max num is ". $row['num']."this is it"; 
    } 

    $maxnum= mysql_fetch_array($maxquery); 
    $sql="SELECT * FROM info WHERE ID=".$ID; 
    $query = mysql_query($sql) or die(errorquery); 
    $row = mysql_fetch_array($query); 
    $trueanswer = $row['Answer']; 
    $num=$row['num']; 
    if ($num<$maxnum) 
    { 
     $numto= $num +1 ; 
     echo "<br>".$maxnum."hh"; 
    } 
?> 
+0

數據庫中的數據類型是num?你爲什麼要調用mysql_fetch_array($ maxquery)兩次? – 2010-11-30 10:04:53

回答

5

然後代碼將

$max="SELECT MAX(num) as num FROM info"; 
$maxquery= mysql_query($max) or die (died); 
while($row = mysql_fetch_assoc($maxquery)) { 
    echo "The max num is ". $row['num']."this is it"; 
} 
+0

謝謝,它的工作 – bobo 2010-11-30 10:55:07

0

運行MySQL查詢窗口內查詢,然後對輸出進行分析。通過這種方式,您可以專注於查詢,而不會影響PHP。

一旦你完成了這個修改問題,以便我們可以看到實際運行的查詢。

0

查詢期待罰款。請檢查您的代碼從結果集中逐步獲取數據。

0

這是因爲你的查詢返回一個標量值而不是數組。 $ maxquery是你想要得到的值。

我建議您檢查對數據庫查詢之前,嘗試用PHP運行它。

1

您正在尋找在結果集中的列不叫NUM。嘗試print_r($ row);查看數組索引是什麼,或給它一個別名,例如,

$max="SELECT MAX(num) AS max_num FROM info"; 
... 
    echo "The max num is ". $row['max_num'] 
1

這裏是另一種更簡單的方法:

$query="SELECT MAX(num) FROM info"; 
list ($max) = mysql_fetch_row(mysql_query($query)); 
print ($max); 

NUM領域在數據庫中必須有一個數字類型(即整型,浮點等),以便爲此才能正常工作。