2015-04-12 73 views
1

我正在計算特定記錄的數量。這是我一直在使用的SQL查詢,我試圖回顯$ result,但沒有任何內容會打印。使用SQL計數記錄並使用PHP返回

$result = $mysqli->query("SELECT COUNT(*) FROM barber_queue "); 
echo $result; 

我也試過這個代碼管理返回的東西,但不是在格式我想

$result = $mysqli->query("SELECT COUNT(*) FROM barber_queue "); 
$row = mysqli_fetch_row($result); 
print_r($row); 

這將返回:Array ([0] => 6) 雖然6是正確的行量,我會就像整數本身一樣,因爲我想在HTML之間使用它來將一些信息傳遞給訪問者。

而且這段代碼

$result = $mysqli->query("SELECT COUNT(*) FROM barber_queue "); 
    print_r($result); 

在屏幕上的回報。 :

mysqli_result Object () 

任何幫助表示讚賞。

+0

$行數= mysqli_num_rows($結果); //試試這個 – Saty

回答

1

我添加一個別名「NUM」到COUNT()關鍵字,則訪問的$row變量作爲array();

$result = $mysqli->query("SELECT COUNT(*) num FROM barber_queue "); 
$row = mysqli_fetch_assoc($result); 
echo $row['num']; 
+0

完美的,有效的奇蹟,但我確定我見過你的某個地方可以直接從查詢結果打印計數? –

+0

不,你不能。該查詢返回一個資源。您需要從該資源獲取結果。 – Chibuzo

+0

您可以執行不返回結果的查詢...例如:'$ mysqli-> query(「insert into table .....」)... ...然後通過調用額外的函數'mysql_insert_id'來獲取插入的ID。 。但如果你想獲得一個行集,你必須先調用'mysqli_fetch_row($ query)'來獲取它, – Reflective

0

你錯過了mysqli_fetch_row(...);。你正在傾倒系統的mysql_query對象,這不能由print_r訪問,以便你有這樣的轉儲

+0

我敢肯定,我用在中間例子當然 –

+0

抓取行,這就是爲什麼你必須有結果......如果要統計結果行'mysqli_num_rows'是你應該使用的函數...如果你想要取代字段的名字......乾淨的SQl語法是'field as newfieldname' - 在你的情況下'count(*)as count'例如。 ..但你需要先取得你的結果。 '$ mysqli-> query'不會開始讀取結果,因爲它是低級別的對象,它不能被'print_r'或'var_dump'成功轉儲。 – Reflective