2014-03-29 47 views
0

我正在爲Facebook上的遊戲開發郵箱系統。我有2個輸入PHP腳本,具有低於例如輸入:PHP - 更新一個字段,如果它在一個數組中

$ FriendIDs = 「10000001,10002421,10132000,10074794,13523543」

$ MailCode = 「ReqGem」

和包含列ID,郵箱的表格。

我想要做的是將任何原來在Mailbox字段中的郵件代碼連接到FriendID中的每個人。

我想這是這樣的,但我無法得到它的工作(我的PHP/SQL的知識是非常可怕的!):

mysqli_query($db, "UPDATE Save SET Mailbox = CONCAT(Mailbox,'$MailCode' . '_') WHERE 'id' IN $FriendIDs); 

編輯:我剛剛意識到我需要如果FriendID不在表中,請添加新行。

我猜我需要從INSERT INTO開始,然後使用ON DUPLICATE KEY UPDATE,但我似乎無法讓它工作。由於唯一鍵位於數組中,因此有點棘手,我不能在INSERT查詢中使用WHERE id IN(ArrayOfValues)。

任何幫助將不勝感激!

回答

2

你接近:

$FriendIDs = "10000001,10002421,10132000,10074794,13523543"; 
$MailCode = "ReqGem"; 
mysqli_query($db, "UPDATE Save SET Mailbox = CONCAT(Mailbox,'$MailCode' . '_') WHERE `id` IN($FriendIDs)); 
  • 你只需要括號爲IN(),因爲它是一個功能。
  • 請勿爲列名使用單引號。使用勾號。單引號是用於字符串。
+0

非常感謝。勾號和單引號之間的細微差別不斷讓我滑倒! – seanlloydbooth

相關問題