在MySQL和PHP中使用循环插入多个数据行

在MySQL和PHP中使用循环插入多个数据行,php,sql,loops,Php,Sql,Loops,嗨,我在做一个项目,我每天都被困在这个小问题里 我有两张桌子,“老板”和“事件”。一个事件可以有一个或多个BOSS 所以我想要的是插入一个新事件,并插入我选择的所有老板。实际上只是插入我选择的最后一个 数据库 我知道问题出在for上,或者我必须使用foreach,但我真的很困惑 谢谢大家,新年快乐 我认为您在for循环中将数组分配给新数组时遇到了问题。试试这个: ... $stmt = mysqli_prepare($conexion, "INSERT INTO det_reg(ident_

嗨,我在做一个项目,我每天都被困在这个小问题里

我有两张桌子,“老板”“事件”。一个事件可以有一个或多个BOSS

所以我想要的是插入一个新事件,并插入我选择的所有老板。实际上只是插入我选择的最后一个

数据库

我知道问题出在for上,或者我必须使用foreach,但我真的很困惑


谢谢大家,新年快乐

我认为您在
for
循环中将数组分配给新数组时遇到了问题。试试这个:

 ...
$stmt = mysqli_prepare($conexion, "INSERT INTO det_reg(ident_reg, ident_jef) 
         VALUES (?, ?)");
    for ($i = 0; $i < count($_POST['ident_jef']); $i++) { //you have an array here
         $jefes = $_POST['ident_jef'];             
         mysqli_stmt_bind_param($stmt, 'ii', $lastInsertId, $jefes[$i]);            
         mysqli_stmt_execute($stmt);
    }   
。。。
$stmt=mysqli_prepare($conexion,“插入det_reg(ident_reg,ident_jef))
值(?,)”;
对于($i=0;$i
以下是测试示例:

$array=[
    "Title 1",
    "Title 2",
    "Title 3"
];
$desc = "Description";

$stmt = mysqli_prepare($conn, "INSERT INTO table1(title, description) VALUES (?, ?)");
for ($i = 0; $i < count($array); $i++) { //you have an array here
     $jefes = $array;
     var_dump("Test" . $i);
     mysqli_stmt_bind_param($stmt, 'ss', $jefes[$i], $desc);    
     mysqli_stmt_execute($stmt);
}   
$array=[
“标题1”,
“标题2”,
“标题3”
];
$desc=“说明”;
$stmt=mysqli_prepare($conn,“插入表1(标题、说明)值(?)”;
对于($i=0;$i
Mysql表1:


警告!您完全可以接受SQL注入攻击!你应该在你的查询中使用参数化的用户数据,而不是像那样直接使用完全未设置的用户数据“此页面不工作-HTTP错误500。请再试一次,我编辑了答案,您的表接受整数,我不小心放了两倍。我查看了它,但没有任何相关内容。我已将
stmt
循环中移出,请立即重试。”。我会马上在我的服务器上试用。还是同样的问题吗
 ...
$stmt = mysqli_prepare($conexion, "INSERT INTO det_reg(ident_reg, ident_jef) 
         VALUES (?, ?)");
    for ($i = 0; $i < count($_POST['ident_jef']); $i++) { //you have an array here
         $jefes = $_POST['ident_jef'];             
         mysqli_stmt_bind_param($stmt, 'ii', $lastInsertId, $jefes[$i]);            
         mysqli_stmt_execute($stmt);
    }   
$array=[
    "Title 1",
    "Title 2",
    "Title 3"
];
$desc = "Description";

$stmt = mysqli_prepare($conn, "INSERT INTO table1(title, description) VALUES (?, ?)");
for ($i = 0; $i < count($array); $i++) { //you have an array here
     $jefes = $array;
     var_dump("Test" . $i);
     mysqli_stmt_bind_param($stmt, 'ss', $jefes[$i], $desc);    
     mysqli_stmt_execute($stmt);
}