我正在创建一个朋友请求系统,所以我需要将friend数组添加到用户行,并在每个用户名之间添加一个逗号,任何人都可以帮助我,因为我的代码没有添加任何逗号
当friend_array字段为空时代码工作,它为用户添加了朋友但是 当用户的朋友_array字段不为空时
出现错误if($friendArray_count >= 1)
{
$add_friend_query = mysql_query("UPDATE user SET friend_array = CONCAT(friend_array, ', $user_from') WHERE user_name = '$login_user'");
}
if($friendArray_count_friend >= 1)
{
$add_friend_query = mysql_query("UPDATE user SET friend_array = CONCAT(friend_array, ', $user_to') WHERE user_name = '$user_from'");
}
答案 0 :(得分:0)
可能您正在寻找此查询
$add_friend_query = mysql_query("UPDATE user SET friend_array =
CONCAT(friend_array, ', $user_from ,') WHERE user_name = '$login_user'");
^
答案 1 :(得分:0)
怎么样:
if($friendArray_count >= 1)
{
$add_friend_query = mysql_query("UPDATE user SET friend_array = CONCAT_WS(',', friend_array, '$user_from') WHERE user_name = '$login_user'");
}
if($friendArray_count_friend >= 1)
{
$add_friend_query = mysql_query("UPDATE user SET friend_array = CONCAT_WS(',', friend_array, '$user_to') WHERE user_name = '$user_from'");
}
从评论中看,问题不在于存储,实际上它是按原样运行的。问题是从数据库中提取数据。
运行SELECT
查询后,只需对字段值使用explode
函数,如下所示:
$result = mysql_query('SELECT friend_array FROM user');
$row = mysql_fetch_assoc($results);
$friend_array = explode(',', $row['friend_array']);
在列中插入新元素时要小心:如果插入的值包含逗号,则将其视为2个值。您可能需要稍后将代码移动到PDO,以便更轻松地处理与安全性和查询良好形成相关的所有问题。