如何将大量数据从表单传递到 mysql - 在一个查询中?并且这样每个循环的数据都被添加到数据库表的单独一行中。

我试试这个:
传输数据的输入循环
while($myrow=mysql_fetch_array($rsm)) {
<input type="checkbox" checked name="visited[]">
<input type="hidden" name="user_id[]" value="'.$myrow['user_id'].'">
<input type="hidden" name="day[]" value="'.$textday.'">
<input type="hidden" name="dates[]" value="'.$today.'">
}
插入
foreach($_POST[visited] as $visited){
$sql= mysql_query ("INSERT into dates (user_id,dates,visited) Values ($user_id,$dates,$visited)");
}
我将使用上面的示例展示实现,但总的来说,我建议您切换到 PDO 方法,并在将数据插入查询之前以某种方式过滤数据。
例如,您的 POST 请求将如下所示:
为了保存它,这段代码就足够了:
结果,该变量
$query包含以下行:您需要形成一个 SQL 查询,该查询将一次将多行插入表中。在 MySQL 中,此查询通常如下所示:
,其中a、b、c是要插入值的字段的名称,每对括号中的数据分别是这些字段的值。一个括号 - 一个插入的行。
为了对您的案例提出请求,您需要执行以下操作:
我非常注意您不检查用户输入的数据这一事实,因此任何用户都可以使用 SQL 注入并执行几乎所有查询。但这与您的问题主题无关,因此我没有修复它 - 我建议您切换到 PDO 并阅读有关 SQL 注入的信息。