2013-08-22 66 views
0

爲什麼我不能在我的代碼中顯示正確的輸出?如何擺脫資源ID#6?

$total = mysql_query("SELECT SUM(issued_qty) FROM issuance_tbl WHERE issuance_tbl.machine_no_id = '%$find%'"); 
echo $total; 

我總是得到這樣的錯誤:

Resource id #6 

感謝您的幫助。

+1

對於SELECT,SHOW,描述,解釋等語句返回的結果集,請求mysql_query()成功返回的資源,或者在錯誤FALSE。 http://php.net/manual/en/function.mysql-query.php –

+3

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql )。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – Touki

回答

3

使用mysql_fetch_array提取數據:

$total = mysql_query("SELECT SUM(issued_qty) FROM issuance_tbl WHERE issuance_tbl.machine_no_id = '%$find%'"); 
$data = mysql_fetch_array($total); 
echo $data[0]; 

順便說一句,不要使用mysql_ *功能。他們已被棄用。

5

因爲您還沒有閱讀和理解mysql_query的文檔。它返回表示結果集的資源,而不是結果本身(因爲結果可能包含多行)。

如果您在PHP的MySQL支持的早期學習,停止您正在做的事情並學習如何使用PDO來代替。

2

儘管mysql_函數已被棄用,您應該切換到mysqlipdo,我會嘗試回答您的問題。

該查詢看起來很成功,返回了id爲#6的資源。要使用資源,你可以打電話mysql_fetch_row像如下:

$result = mysql_query("SELECT SUM(issued_qty) FROM issuance_tbl WHERE issuance_tbl.machine_no_id = '%$find%'"); 
$row = mysql_fetch_row($result); 

// Then your total is at index 0 of $row array 
$total = $row[0]; 
echo $total;