2012-04-26 95 views
0

我有一個查詢的第二列中,PHP中,檢查是否有結果是在MySQL結果

$theresult = mysql_query("SELECT * FROM table WHERE column_b = ".$variable); 

所以這將產生的結果,3列的列表。

我想要做的是檢查是否有任何結果行的列有「27」 C.

我不想要的結果,只是一個真/假..

謝謝!

+2

延長'WHERE'條款並檢查塔C 27. http://dev.mysql.com/doc/refman/5.5/en/select.html – hakre 2012-04-26 08:05:28

+0

只是爲了檢查,你顯然通過'mysql_real_escape'獲得了'$ variable'的值,對吧? SQL注入是你想要抵禦的東西! – Romain 2012-04-26 08:07:31

回答

0

嗨,我想你想檢查任何行的C列有值27或不獲取結果PHP。 。然後

1.如果您可以添加條件column_c = 27,然後使用行計數mysql_num_rows在結果

$result = mysql_query("select * from table where column_b = ".$variable." AND column_c = 27") or die(mysql_error()); 

if($result){ 
    if(mysql_num_rows($result) > 0){ 
    echo "true"; 
    }else{ 
    echo "false"; 
    } 
} 

2.如果您不想在MySQL查詢更改然後

$result = mysql_query("select * from table where column_b = ".$variable."") or die(mysql_error()); 

$exist = "false"; 

if($result){ 
    while($row = mysql_fetch_array($result)){ 
     if($row['column_c'] == 27){ 
     $exist = "true"; 
     } 
    } 
} 
echo $exit; 
0

更改查詢:

"SELECT * FROM table WHERE column_b = ".$variable." AND colc = 27" 
0
SELECT COUNT(*) FROM table WHERE column_b = 'var' AND column_c = 27 

返回匹配的行數。如果沒有匹配的行,你會得到0

0

試試這個:

$theresult = mysql_query("SELECT * FROM table WHERE column_b = ".$variable . " AND column_c=27"); 
if (mysql_num_rows($theresult) == 0) echo "False/True"; 
+0

抱歉,我應該說我正在另一個函數內部運行此,我也需要保留INTIAL查詢結果.. – 2012-04-26 08:12:17