2017-08-30 86 views
-1

即時通訊工作的PHP抽獎腳本,但我似乎有一些問題? 當我這樣做 的var_dump($選擇)返回 「布爾(假)」 和 的var_dump($選擇[ '用戶名'])返回 「NULL」var_dump()給我NULL和布爾(假)

任何一個有什麼想法? 這是「$選擇」:

$choose = mysql_query("SELECT username FROM `lotto` WHERE winner = '1'"); 

我的表名是樂透,用戶名和冠軍都存在,如「樂透」

列這是代碼的完整片段:

$choose = mysql_query("SELECT username FROM `lotto` WHERE winner = '1'"); 
 
$chosen = mysql_fetch_assoc($choose); 
 
    
 
    if ($choose >= $choose) 
 
\t { 
 
\t 
 
\t mysql_query("INSERT INTO lotto_winners (username, time, winning_number) VALUES ('".$choose['username']."', '1', '".$winner."')"); 
 
} 
 
else 
 
{ 
 
\t echo 'FAILED: No Winner to Choose From'; 
 
} 
 
    
 

 

 
echo 
 
'<div>'.$winner.'</div>'; 
 
echo 
 
'<div>'.$choose.'</div>'; 
 

 
    
 
var_dump($chosen); 
 
var_dump($chosen['username']);

,並在任何人說任何事:我已經知道mysql_ *已被棄用。所以請,你不需要告訴我。

+3

你知道'if($ choose> = $ choose)'總會是真的嗎? –

回答

0

從PHP文件

轉換爲布爾值

要明確地將一個值轉換成boolean,用(布爾)或(布爾) 轉換。但是,在大多數情況下,轉換是不必要的,因爲如果運算符,函數或控制 結構需要布爾參數,則會自動轉換值 。

另請參見類型雜耍。

當轉換爲布爾值,下面的值被認爲是FALSE:

  • 布爾值FALSE
  • 整數0(零)
  • 浮子0。0(零)
  • 空字符串,字符串 「0」
  • 用零個元素您的案例
  • 特殊類型NULL(包括尚未設定的變量)
  • 的SimpleXML對象的數組從空

http://php.net/manual/en/language.types.boolean.php

創建那麼$選擇爲空,因爲沒有行都是R E打開 如果獲獎者列的數據類型是數字嘗試使用

$choose "SELECT username FROM `lotto` WHERE winner = 1" 

,或者如果您使用的是枚舉,然後嘗試過濾器關聯到1

$choose "SELECT username FROM `lotto` WHERE winner = 'MY_VALUE_FOR_1'" 
+0

所以如果多數民衆贊成在這種情況下,這將如何工作? $ getRewards = mysql_query(「SELECT credits FROM users WHERE id ='」。$ _ SESSION ['user'] ['id']。「'」); \t \t \t \t \t \t \t \t \t \t \t而($獎勵= mysql_fetch_assoc($ getRewards)){ 如果($獎勵[ '幣']> 19999) \t \t \t \t \t \t \t \t \t \t \t 這工作100%罰款,我真的沒有看到d 。差分? –

+0

你的問題是關於$選擇。 $ choose是null這是你的var_dump結果的原因..我的答案是關於你的追求。如果$選擇是空的..這意味着你查詢不起作用,但這是另一個問題..可能是你有一個錯誤的地方..事實上,這是你的意見是不涉及到你的原始問題 – scaisEdge

+0

我的評論,是因爲我設置了$獎勵,就像我對$選擇一樣。我不明白爲什麼它不工作相同.. –

-1

您的查詢是無效的價值觀,這就是爲什麼你得到布爾(假)

變化

"SELECT username FROM `lotto` WHERE winner = '1'" 

"SELECT username FROM lotto WHERE winner = '1'" 
+0

相關的反撥號只是一個嘗試修復。它並沒有與他們一起工作。 –