2011-10-06 87 views
-3

我有我的表布爾值,設置爲0或1爲什麼這個php代碼不工作?

$test = mysql_query("SELECT status FROM mydb WHERE email = '[email protected]'") or die(mysql_error()); 

if ($test == 0) { 
    echo "FF"; 
} elseif ($test == 1) { 
    echo "ON"; 
} 

但是,這並不工作,爲什麼?我試過真假,那也不管用。

+8

從什麼意義上說它「不起作用」?錯誤信息?意外的回聲值? 'mysql_query'調用之後'$ test'中的值是多少? –

+2

您的_table_名稱真的是'mydb'嗎? – Czechnology

+0

如何在不獲取記錄值的情況下測試變量值,您需要通過** mysql_fetch_array **或** mysql_fetch_object **從您的查詢中獲取結果。 – punit

回答

5

你實際上並沒有取結果值的

$result = mysql_query("SELECT status FROM mydb WHERE email = '[email protected]'")or die(mysql_error()); 

$row_count = mysql_num_rows($result); 

if($row_count == 0) 
{ 
    echo "FF"; 
} 
else if($row_count == 1) 
{ 
    echo "ON"; 
} 

$test = mysql_query("SELECT status FROM mydb WHERE email = '[email protected]'"); 
if (!$test) { 
    die(mysql_error()); 
} else { 
    $res = $test; 
} 
$row = mysql_fetch_assoc($res); 

var_dump($row); 
+0

也許OP只是想''測試'如果查詢運行? – hakre

0

$ test只是查詢的結果。你想看看如果你得到一個排試試這個:如果你需要知道的status

$result = mysql_query("SELECT status FROM mydb WHERE email = '[email protected]'")or die(mysql_error()); 

while($data = mysql_fetch_assoc($result)) 
{ 
    if($data['status'] == 0) 
    { 
     echo "FF"; 
    } 
    else if($data['status'] == 1) 
    { 
     echo "ON"; 
    } 
}