将变量添加到数据库而不替换当前值?

时间:2012-06-29 04:17:05

标签: php mysql

我正在尝试执行一个MySQL查询,它以不会覆盖它的当前值的格式向数据库添加信息,而是将其添加为在friends列中将有friend1,friend 2,friend 3 ..等等。

首先,我不确定INSERT INTO是否正确:

$username = $_SESSION['username'];

mysql_query("INSERT INTO members (friends) WHERE username = $username
    VALUES ('$friendtoadd')");

我想做的是做两件事

1)以所提及的格式添加朋友,以便稍后可以调出,如果在会话中设置的$ username处于活动状态,则页面上发布的结果仅来自其朋友列中包含的其他用户。 / p>

2)如果$ friendtoadd已经存在于他们的朋友列中,那么它什么都不做。

1 个答案:

答案 0 :(得分:4)

UPDATE members SET friends = CONCAT_WS(', ', friends, '$friendtoadd') where username = '$username'

我希望通过mysql_real_escape_string清除$friendtoadd以及$username

此外,这种设计不是很好。你应该有一个单独的朋友表 所以

table friend
id (auto increment), userID, name)

then do 
Insert into friend SET userID = $userID, name = '$friendName'