微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用PHP在表格中插入多行

我正在尝试使用PHP和HTML from将多个行插入MysqL DB.我知道基本的PHP,并在不同的论坛上搜索了许多示例,并创建了一个脚本,但是它似乎不起作用.任何人都可以帮忙.这是我的脚本:

include_once 'include.PHP';

foreach($_POST['vsr'] as $row=>$vsr) {
   $vsr=MysqL_real_escape_string($vsr);
   $ofice=MysqL_real_escape_string($_POST['ofice'][$row]);
   $date=MysqL_real_escape_string($_POST['date'][$row]);
   $type=MysqL_real_escape_string($_POST['type'][$row]);
   $qty=MysqL_real_escape_string($_POST['qty'][$row]);
   $uprice=MysqL_real_escape_string($_POST['uprice'][$row]);
   $tprice=MysqL_real_escape_string($_POST['tprice'][$row]);
}

$sql .= "INSERT INTO maint_track (`vsr`, `ofice`, `date`, `type`, `qty`, `uprice`,
`tprice`) VALUES ('$vsr','$ofice','$date','$type','$qty','$uprice','$tprice')";

$result = MysqL_query($sql, $con);

if (!$result) {
   die('Error: ' . MysqL_error());
} else {
   echo "$row record added";
}

解决方法:

MysqL可以在一个查询中插入多行.我将您的代码尽可能地靠近原始代码.请记住,如果您有大量数据,这可能会创建一个大型查询,该查询可能大于MysqL所接受的查询.

include_once 'include.PHP';

$parts = array();    
foreach($_POST['vsr'] as $row=>$vsr) {
   $vsr=MysqL_real_escape_string($vsr);
   $ofice=MysqL_real_escape_string($_POST['ofice'][$row]);
   $date=MysqL_real_escape_string($_POST['date'][$row]);
   $type=MysqL_real_escape_string($_POST['type'][$row]);
   $qty=MysqL_real_escape_string($_POST['qty'][$row]);
   $uprice=MysqL_real_escape_string($_POST['uprice'][$row]);
   $tprice=MysqL_real_escape_string($_POST['tprice'][$row]);

   $parts[] = "('$vsr','$ofice','$date','$type','$qty','$uprice','$tprice')";
}

$sql = "INSERT INTO maint_track (`vsr`, `ofice`, `date`, `type`, `qty`, `uprice`,
`tprice`) VALUES " . implode(', ', $parts);

$result = MysqL_query($sql, $con);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐