我正在尝试使用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 举报,一经查实,本站将立刻删除。