我的网站上有一个群聊功能,人们可以通过选择 HTML 复选框来添加朋友,因此可以一次添加多个。但是,当我的 PHP 脚本将数据插入 MySQL 数据库时,只添加了最后一个值。例如,如果用户选择了 3 个朋友,PHP 用逗号分隔他们的 ID(因为它将作为数组存储在数据库中);所以它会显示为 ,1,2,3。但是,当我插入 MySQL 时,只有“,3”正在提交。
从 HTML 复选框组装数据的 PHP 代码:
$invite = $_POST['invite'];
if(empty($invite))
{
//echo("You didn't select any friends.");
}
else
{
$N = count($invite);
//echo("You selected $N friends(s): ");
for($i=0; $i < $N; $i++)
{
$userinput = ("," . $invite[$i]);
}
}
MySQL查询:
$sql = "INSERT INTO group_chat (title, created_date, last_modified, created_by, user_array) VALUES ('$title', now(), now(), '$logOptions_id', '$logOptions_id$userinput')";
$logOptions_id 包含当前用户的 ID。
我之前已经回显了 $userinput 变量,它看起来应该是:,1,2,3(添加到 MySQL 时,开头的逗号与当前用户 ID 分开。