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


PHP - Update a field if its in an array

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

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

$MailCode = "ReqGem"

以及一个包含列 ID、邮箱的表。

我希望能够做的是将最初在邮箱字段中的任何内容与 MailCode 连接起来,用于 FriendID 中的每个人。

我想它是这样的,但我无法让它工作(我的 php/sql 知识非常可怕!

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

编辑:我刚刚意识到,如果表中还没有朋友ID,我需要添加一个新行。

我猜我需要从插入开始使用,然后在重复密钥更新中使用,但我似乎无法让它工作。这有点棘手,因为唯一键在数组中,而且我不能在插入查询中使用 WHERE id IN(ArrayOfValues)。

任何帮助将不胜感激!

你很接近:

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