PHP - 如果字段在数组中更新字段

时间:2014-03-29 00:51:02

标签: php mysql sql arrays concatenation

我正在为Facebook上的游戏开发邮箱系统。我有2个PHP脚本输入,下面是示例输入:

$ FriendIDs =" 10000001,10002421,10132000,10074794,13523543"

$ MailCode =" ReqGem"

和一个包含列ID,邮箱的表。

我希望能够为FriendIDs中的每个人连接最初在邮箱字段中使用MailCode的内容。

我认为它是这样的,但我无法让它工作(我的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)。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

你关闭了:

$FriendIDs = "10000001,10002421,10132000,10074794,13523543";
$MailCode = "ReqGem";
mysqli_query($db, "UPDATE Save SET Mailbox = CONCAT(Mailbox,'$MailCode' . '_') WHERE `id` IN($FriendIDs));
  • 您只需要IN()的括号,因为它是一个函数。
  • 不要使用单引号作为列名。使用滴答声。单引号用于字符串。