我正在尝试执行一个 MySQL 查询,以一种不会覆盖其当前值的格式将信息添加到数据库中,而是附加它,因为在 friends 列中会有 friend1、friend 2、friend 3 .. .等
首先我不确定 INSERT INTO 是否正确:
$username = $_SESSION['username'];
mysql_query("INSERT INTO members (friends) WHERE username = $username
VALUES ('$friendtoadd')");
我想做的是让它做两件事
1) 以上述格式添加好友,以便稍后可以调用,如果 session 中设置的 $username 处于事件状态,则页面上发布的结果仅来自其好友列中包含的其他用户。
2) 如果 $friendtoadd 已经存在于他们的好友栏中,那么它什么都不做。
最佳答案
UPDATE members SET friends = CONCAT_WS(', ', friends, '$friendtoadd') where username = '$username'
我希望 $friendtoadd
以及 $username
通过 mysql_real_escape_string 进行清理
还有,这个设计不是很好。你应该有一个单独的 friend 表 所以
table friend
id (auto increment), userID, name)
then do
Insert into friend SET userID = $userID, name = '$friendName'
关于php - 在不替换当前值的情况下将变量添加到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11255993/