我是一个初学者的php代码,我正在尝试使用此更新循环更新多行数据。它将仅使用最后一个条目更新数据库。

$size = count($_POST['wkmove_id']);
$i=0;
while( $i < $size ) {
   // define each variable
   $rps = $_POST['sessrps'][$i];
   $wgt = $_POST['sesswgt'][$i];
   $mv = $_POST['wkmove_id'][$i];

   echo " cat=$cat subcat=$subcat mv= $mv wgt=$wgt rps=$rps<br>";

   $sql = "INSERT INTO wkout_sess
                 (wkprog_id, wkname_id, wkmove_id, sesswgt, sessrps)
                  VALUES ('$cat','$subcat','$mv','$wgt','$rps')";
   ++$i;
}
if (!mysql_query($sql,$con))
{

   die('Error: ' . mysql_error());
}

echo "1 record added";


此输出将显示

cat=1 subcat=1 mv= 1 wgt=45 rps=4
cat=1 subcat=1 mv= 2 wgt=15 rps=4
cat=1 subcat=1 mv= 3 wgt=10 rps=2
cat=1 subcat=1 mv= 4 wgt=12 rps=1
cat=1 subcat=1 mv= 5 wgt=5 rps=54
cat=1 subcat=1 mv= 6 wgt=1 rps=6
cat=1 subcat=1 mv= 7 wgt=2 rps=6
cat=1 subcat=1 mv= 8 wgt=1 rps=6
cat=1 subcat=1 mv= 9 wgt=1 rps=2
cat=1 subcat=1 mv= 10 wgt=6 rps=1
cat=1 subcat=1 mv= 11 wgt=4 rps=69
cat=1 subcat=1 mv= 12 wgt=8 rps=6
cat=1 subcat=1 mv= 13 wgt=4 rps=8
cat=1 subcat=1 mv= 14 wgt=9 rps=4
cat=1 subcat=1 mv= 15 wgt=1 rps=2
cat=1 subcat=1 mv= 16 wgt=3 rps=6
cat=1 subcat=1 mv= 17 wgt=5 rps=4
cat=1 subcat=1 mv= 18 wgt=8 rps=7
cat=1 subcat=1 mv= 19 wgt=4 rps=6
cat=1 subcat=1 mv= 20 wgt=9 rps=7
cat=1 subcat=1 mv= 21 wgt=8 rps=9
cat=1 subcat=1 mv= 22 wgt=4 rps=1
cat=1 subcat=1 mv= 23 wgt=4 rps=1
cat=1 subcat=1 mv= 24 wgt=9 rps=7

1 record added


我如何将其添加到前面的所有23个条目?

最佳答案

您正在while循环之后运行查询。您想在while循环中运行它。另外,请注意,您正在使用不建议使用的mysql_ *函数,应移至PDO或MySQLi。

sql字符串$sql仅运行一次,这是它在循环中的最后一个值。

关于php - 在数据库中插入多行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27135210/

10-13 08:54
查看更多