我是一个初学的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个条目?
答案 0 :(得分:2)
您正在while循环后运行查询。你想在while循环中运行它。另请注意,您使用的是不推荐使用的mysql_ *函数,应该转移到PDO或MySQLi。
sql字符串$sql
只运行一次,这就是它在循环中的最后一个值。