2012-04-04 42 views
1

長時間閱讀時 - 新的海報......這裏有一個我需要一點點的見解。最佳比較運算符mysqli的查詢使用COUNT

做一個mysqli的查詢和計數的結果,是否有一個優選的比較運算符&串enquoting使用?

例如

$query = mysqli_query($connect, "SELECT COUNT(`user_id`) FROM `users` WHERE `user_color` = '{$color}'"); 
$result = mysqli_fetch_assoc($query); 
if ($result['COUNT(`user_id`)'] != 0){ 
-- then do something.... 

我的問題是,什麼是使用的含義:

if ($result['COUNT(`user_id`)'] != '0'){ 

if ($result['COUNT(`user_id`)'] != 0){ 

回答

0

兩者都是相同的,PHP需要字符串和數字的照顧。

php解釋的內部功能:如果比較的數與一個字符串或比較涉及數字串,則每一個字符串被轉換爲數字和數值進行比較。

+0

謝謝,這是我想,有一點始終確認使你的代碼感到溫暖和模糊... – Tim 2012-04-04 03:36:17

1

我更傾向於將:

... "SELECT COUNT(`user_id`) as user_count ..." ... 

if ($result['user_count']) 

0'0'在PHP都false,所以這樣做,你要查找的內容非常簡潔。

+0

我知道*關於虛假價值,從未想過在這個意義上使用它。其實我只是抓住了這段代碼,我實際使用的其他幾個與* something *比較。謝謝。 – Tim 2012-04-04 03:39:15

0

看一看:Comparison Operators

<?php 

0=='0'; // true 
0==='0' // false 

0!='0'; // false 
0!=='0'; // true 

?> 
你的情況也不要緊

,因爲你只使用一個=

+0

感謝。但我認爲斯蒂茲和馬丹引起了我的思考。這更多的是** $ result ['COUNT('user_id')'] **更喜歡與之比較。 – Tim 2012-04-04 03:46:32

0

使用mysqli_fetch_row代替mysqli_fetch_assoc的。

$result = mysqli_fetch_row($query); 
if ($result[0] != 0){ 
    // your code 
}