【发布时间】:2016-10-04 22:21:22
【问题描述】:
我正在执行插入语句,我希望 2 个用户名成为 1 个数据并插入数据库。我不知道该怎么做。
这是我的php和mysql
$target = $_GET['user'];
$id = $_SESSION['id'];
$targetusername = mysqli_query($connection,"SELECT username FROM user WHERE id='$target' ")or die(mysqli_error($connection));
$username= mysqli_query($connection,"SELECT username FROM user WHERE id='$id'") or die(mysqli_error($connection));
$direct_message_room_name ="INSERT INTO direct_message_room(`direct_message_room_name`,`user_1_id`,`user_2_id`) VALUES (('$targetusername' + ' and ' + '$username'),'$id','$target')";
【问题讨论】:
-
如果要在一个字段中存储多个变量,可以
serialize()一个数组。不过,您应该有充分的理由需要这样做。它可能会降低您的数据库表的效率,尤其是在搜索等方面。 -
我插入 2 用户名是因为它用于直接消息房间名称。用户可以查看他们之前与谁聊天的历史记录
-
最好是
serialize -
此外,您可以使用插入
$_GET变量的查询进行 sql 注入。 -
警告:使用
mysqli时,您应该使用parameterized queries 和bind_param将用户数据添加到您的查询中。 请勿使用字符串插值或连接来完成此操作,因为您创建了严重的SQL injection bug。 切勿将$_POST或$_GET数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。
标签: mysql