大家好!我不知道如何将由“,”分隔的数据从输入写入mysql。
我了解如何在一行中写入一个值,但我不知道如何在不同的行(单元格)中写入以逗号分隔的数据。
$data = explode(', ', $_POST['all_add'] );
foreach ($data as $value) {
$query = mysqli_query($connect, "INSERT INTO `emails` (`UserEmails`) VALUES ('$value')");
{
echo "Успешно добавил!";
}
}
我也这样尝试。它从输入中拆分值并处理以逗号分隔的每个值。但是值不会进入数据库。在这个请求中应该在哪里传递 $value?
foreach ($data as $value) {
$query = mysqli_query($connect, "INSERT INTO `emails` (`UserEmails`)
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(@csv_value, ',', nums.num), ',', -1)
FROM ( SELECT 1 num UNION SELECT 2 UNION ... UNION SELECT NNN ) nums");
{
echo "Успешно добавил!";
}
}
问题解决了!要将数据放入表中,您需要将 $value 放入另一个查询中以添加到表中。
$add = mysqli_query($connect, "INSERT INTO `emails` (`UserEmails`) VALUES ('$value')");
感谢所有帮助过的人。
MySQL 版本 - 5.7
将 500 个值的生成子查询创建
num为 0 到 7 的 8 个数字的三个子查询的 JOIN 更合理。