2016-04-06 31 views
0

所以我有一個數據庫記錄參加會議的人數。 表設置這樣的:php/mysql計數匹配條件的項目數

name | status 
----+--------- 
Joe | No 
Jon | Yes 
Mike | Yes 

我所希望做的是計數次數的狀態爲「是」,然後輸出到屏幕上。

$yes_attending = 'SELECT status FROM attendees WHERE "status=Yes"'; 
$yes_result= $link->query($yes_attending); 
    if($yes_result=mysqli_query($link,$yes_attending)) 
    { 
     $yesCount = mysqli_num_rows($yes_result); 
    } else{ 
     echo '0'; 
    } 

我的問題是,即使我的數據庫中的信息與「是」條件匹配,此代碼仍返回0。

+2

擺脫狀態= YES – Neal

回答

0

你正在使自己的條件成爲一個文本文本,所以錯誤。將其更改爲

$yes_attending = "SELECT status FROM attendees WHERE status='Yes'"; 
0

獲取眼下圍繞status=YES

去掉引號你的mysql語句無效。

1

你似乎誤解了mysqli_query()做什麼,如果它執行或者不返回。

$sql = "SELECT status FROM attendees WHERE status='Yes'"; 

if($rsl = mysqli_query($link,$sql) != false){ 
    echo 'Query successfully executed'; 
    if($c = mysqli_num_rows($rsl) > 0){ 
     echo "The amount of results: '$c'"; 
    } else { 
     echo "There are no attendees that have an active status"; 
    } 
} else { 
    printf("Query failed: %s\n", mysqli_error($link)); 
} 

另外,爲什麼你問到選擇狀態? 我問,因爲結果會是'是'。

+0

爲了公平起見,OP必須選擇_something_,並且'status'與其他任何東西一樣好。儘管如果它使用'SELECT count(status)FROM ...',這會更有效率 - 讓數據庫爲你做計數,所以它只是返回一行。 – andrewsi

+0

@andrewsi你總是可以選擇0,但我會期待一個ID或什麼的, – Xorifelse