0

現在の値を上書きしない形式でデータベースに情報を追加するMySQLクエリを実行しようとしていますが、代わりに友人の列に友人1、友人2、友人3などがあるように追加します.

まず、INSERT INTO が正しいかどうかわかりません。

$username = $_SESSION['username'];

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

私がやりたいことは、これに2つのことをさせることです

1) セッションで設定された $username がアクティブな場合、ページに投稿された結果は、友人の列に含まれる他のユーザーからのみであることを後で呼び出すことができるように、前述の形式で友人を追加します。

2) $friendtoadd が友人の列に既に存在する場合、何もしません。

4

1 に答える 1

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'
于 2012-06-29T04:19:49.763 に答える