php - 在不替换当前值的情况下将变量添加到数据库?

标签 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) 以上述格式添加好友,以便稍后可以调用,如果 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/

相关文章:

javascript - 我想继续存储和显示从 mysql 获得的结果

php - Yii2 中的 "Natural sorting"

php - 为什么无法序列化 PHP 内置对象?

php - WordPress:如何使用自定义查询获取不包含特定类别的帖子

mysql - 如何通过插入到表中从mysql中的表中选择来添加额外的行?

mysql - 如何在 Fedora 11 中安装 mysql Workbench

javascript - 将onclick函数设置为laravel中的 anchor 元素

PHP Web 服务客户端 : Guzzle and xsd

mysql自增问题

java - ActiveMQ - JDBC 持久化 MySQL : ACTIVEMQ_MSGS is empty