我正在为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()
的括号,因为它是一个函数。 - 不要对列名使用单引号。使用刻度。单引号用于字符串。