2015-09-09 22 views
0

我所做的就是給我的DB a categorie_bit值2的用戶1, 當我點擊一個按鈕。這工作到目前爲止。現在我試圖給其餘的用戶一個categorie_bit0,如果我點擊那個按鈕。PHP/SQL給其他用戶一個值

所以基本上:

給2隨機Userscategorie_bit價值1 &在0DBcategorie_bit值給出了User的休息。

(再次給予的1個作品2隨機用戶價值和數據庫保存。)

我嘗試這樣做,到目前爲止,把剩下的值爲0:

$member = $staff->getStaffData($id); 
    $queryCheck = $database->query('SELECT id,firstname,lastname,categorie_bit FROM `staff` WHERE categorie_bit = 1'); 
    $queryCheckResult = $queryCheck->fetch(); 
    $queryMaximum = $queryCheckResult > 1; 

    var_dump($queryMaximum); // true 

    // MY SQL TO GIVE REST A VALUE OF 0 
    $taste = $database->query('SELECT id,firstname,lastname FROM `staff` WHERE categorie_bit = 1 SET categorie_bit = 0'); 
    if($queryMaximum) { 
     echo "first step works"; 
     if(is_array($taste) || is_object($taste)) { 
      echo "second step works"; 
      foreach ($taste as $testx) { 
       var_dump($testx); 
      } 
     } else { 
      echo "second does not work"; 
     } 
    } 

這沒有奏效。我總是得到second does not work的回聲。

任何人都可以幫我:)

+0

'$ taste'可能返回'false'。你可能想要一個'UPDATE' SQL語句。 –

+0

如果要更新數據庫中的記錄,則必須使用'UPDATE'而不是'SELECT'。 –

+0

正如你在一個語句中寫了一個錯誤的'query',即'select'和'update',它不會返回'$ taste'中的任何東西,所以'$ taste'不是'array'或'object'它總是回聲'秒不起作用' –

回答

1

您執行的請求是錯誤的。 您可以選擇檢索用戶,也可以進行更新以更新用戶。

如果更換

'SELECT id,firstname,lastname FROM `staff` WHERE categorie_bit = 1 SET categorie_bit = 0' 

有了:

"UPDATE staff SET categorie_bit = 0 where categorie_bit = 1" 

你的數據應該更新;)

+0

謝謝你這工作:) – as21

1

你已經使用SETSELECT聲明可以在UPDATE查詢中使用。具體說明你想從數據庫中查詢什麼。如果你想更新所有記錄category_bit = 0然後

$taste = $database->query('UPDATE `staff` SET categorie_bit = 0 where categorie_bit = 1'); 
相關問題