2017-06-20 28 views
-1

我想要計算欄field_161內的所有行。但是,它僅返回值0.與數據庫的連接成功,表和行拼寫正確。MySQL的計數錯誤

這裏是我的代碼:

$conn->query("SELECT COUNT(*) FROM app_entity_21 WHERE field_161 = 30 as $mytotaltasks"); 
echo "test" . $mytotaltasks; 

回答

6

你不能只是做AS $mytotaltasks在MySQL中,並把它變成一個PHP變量。您需要從查詢中獲取結果。最簡單的方法是使用fetchColumn()

$query = $conn->query("SELECT COUNT(*) FROM app_entity_21 WHERE field_161 = 30"); 
$mytotaltasks = $query->fetchColumn(); 
+0

這看起來沒有工作,而只是顯示一個完全空白的白頁。 –

+0

@LouisDench檢查您的錯誤日誌,並回復錯誤。 – chris85

+0

@LouisDench此代碼不會回顯任何內容。添加'echo「Count:」。 $ mytotaltasks;'在腳本結尾顯示計數。 – FrankerZ

-2

試試這個!

$result=$conn->query("SELECT COUNT(field_161)AS field_cont FROM app_entity_21 WHERE field_161 = 30 as $mytotaltasks"); 

$data_cont=mysqli_fetch_assoc($result); 

echo "This is the number of rows". $data_cont['field_cont']; 

還是有點不同:

$result=$conn->query("SELECT COUNT(field_161)AS field_cont FROM app_entity_21 WHERE field_161 = 30 as $mytotaltasks"); 

$data_cont=mysqli_fetch_object($result); 

echo "This is the number of rows". $data_cont->field_cont; 
+0

你爲什麼要從對象切換到過程語法? – FrankerZ

+0

我只是想顯示選項,我不是指從一個切換到另一個。順便回答是更簡單的方法。歡呼 –

+0

'mysqli_fetch_object($ result);'可以寫成'$ result-> fetch_object()' – FrankerZ

-1

我想你應該添加組通過在然後結束查詢字符串

$conn->query("SELECT COUNT(*) FROM app_entity_21 WHERE field_161 = 30 group by field_161"); 

的回聲 「測試」。 $ mytotaltasks;

+0

無效的mysql .. – rtfm