0

我正在尝试做一个 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 是活动的,那么页面上发布的结果仅来自他们的朋友列中包含的其他用户。

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

4

1 回答 1

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

我希望$friendtoadd以及$username通过 mysql_real_escape_string 进行消毒

而且,这个设计也不是很好。你应该有一个单独的朋友桌,所以

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

then do 
Insert into friend SET userID = $userID, name = '$friendName'
于 2012-06-29T04:19:49.763 回答