2012-04-01 56 views
0

您好我有一個查詢在PHP中計算列中的所有值的總和。但是,當我嘗試打印時,沒有任何反應。我得到一個空白頁面。 Im相當肯定它的一個明顯的問題,但不變的編碼意味着同心難改:(如何檢索在PHP中的列的總和

$query = 'SELECT SUM(cost) AS total_price FROM items WHERE item_ID = $input'; 
$sum = mysql_query($query, $database); 

$row = mysql_fetch_row($sum); 

echo "Total "" = $". $row['total_price']; 
+0

如果您打印您的查詢會發生什麼,並嘗試在mysql中直接執行該查詢?也許$輸入是空的? – 2012-04-01 18:48:33

+1

如果'$ input'是一個PHP變量,則第一行應該使用雙引號。 – halfer 2012-04-01 19:00:07

+0

至少考慮使用[mysqli_](http://php.net/mysqli)函數而不是mysql_函數。 mysql_函數被認爲是過時的,並且宣佈不贊成它們是在不久前宣佈的。 – Flukey 2012-04-01 19:02:08

回答

3

mysql_fetch_row獲取一個枚舉陣列,你要mysql_fetch_assoc

或者你可以用mysql_result來獲取單個字段。


你也有你的迴音語法錯誤,除非你有error_reporting/display_errors這將導致一個空白頁:

echo "Total "" = $". $row['total_price']; 

應該是:

echo "Total = $". $row['total_price']; 
+0

我還是空白頁 – Matt9Atkins 2012-04-01 18:46:24

+0

@ Matt9Atkins試試'echo mysql_num_rows($ sum);'看看是否有結果返回 – safarov 2012-04-01 18:47:40

+0

@safarov theres沒有打印 – Matt9Atkins 2012-04-01 18:53:11

1

試試這個

$query = 'SELECT SUM(cost) AS total_price FROM items WHERE item_ID = $input'; 
$sum = mysql_query($query, $database) or die(mysql_error()); 

if(mysql_num_rows($sum) > 0) { 
    $row = mysql_fetch_assoc($sum); 
    echo 'Total = $'.$row['total_price']; 
} else { 
    echo "No result found"; 
} 
+0

它給了我最後一列,而不是總數 – Matt9Atkins 2012-04-01 19:10:08