2013-10-26 444 views
0

我有一個if else語句,但它不能正常工作。當我添加它時,即使數據庫信息與if語句中的=不匹配,它也只會迴應第一條語句,我做錯了什麼?Php如果其他人不工作

$gameum = $db->fetch("SELECT * FROM accounts WHERE `id` = '$id'"); 

$status = $gameum['status']; 
$gameid = $gameum['gameid']; 
$search = $gameum['seraching_for']; 

if($gameum['status'] = '0') { 
$data ='<h1> Who do you want to battle against? </h1><br /> 
     <form action="" method="post" id="form-pb" name="pb" target="_self" > 
     USERNAME:<input name="name" type="text" size="40" maxlength="40" /> 

     <input name="submit" type="submit" value="Search"/> 
     </form> 
     <a class="goback" href="#">Cancel</a>'; 
} else { 
    $data = '<h1> Searching </h1> <br /> Searching for '.$search.''; 
} 

截圖數據庫行:

+1

'='是賦值運算符,'=='用於比較。 – mario

回答

5
$gameum['status'] = '0' // assigns the value '0' to $gamenum['status'] 

($gameum['status'] == '0') // compares the two values 
1

你被分配$gameum['status']0,如果是一個條件語句 加雙等於==到if條件,改變

if($gameum['status'] = '0') { 

if($gameum['status'] == '0') { 

單等於=指定值。

雙等於==比較值,==比較時不關心數據類型。

三等於===檢查數據類型以確保兩個vars/objects/whatever使用相同的類型。

2

if的說法應該是

if($gameum['status'] == '0') { 

,如果你正在尋找strict檢查,我建議你做

if($gameum['status'] === '0') { 
0

變化

if($gameum['status'] = '0') 

if($gameum['status'] == '0') 

=assigning值。

==compares爭取平等的變量的值

===檢查,如果兩個變量是same type和有same value