一个例子:他插入了20个数据而他只得到了19个,但问题是有时会发生这种情况。
所以我现在很困惑,程序错误怎么会有时呢? 在这里我的代码:
else if ($mod == 'suratkeluar'){
$batas = $_GET['batas'];
if (isset($_POST['submit'])) {
for ($i = 0; $i < $batas; $i++) {
$idlot = $_POST['hiddenlot'][$i];
$idbenang = $_POST['hiddenbenang'][$i];
$benang = $_POST['jenisbenang'][$i];
$warna = $_POST['warna'][$i];
$lot = $_POST['lot'][$i];
$harga = $_POST['hiddenprice'][$i];
$netto = $_POST['netto'][$i];
$box = $_POST['box'][$i];
$cones = $_POST['cones'][$i];
$ket = $_POST['keterangan'][$i];
$cussplit = explode('_',$_POST['customer']);
$idcus = $cussplit[0];
$cus = $cussplit[1];
$alamatcus = $cussplit[2];
$kota = $cussplit[3];
$POsplit = explode('_',$_POST['nopo']);
$idpo=$POsplit[0];
$nopo=$POsplit[1];
$mobilsplit = explode('_',$_POST['kendaraan']);
$kendaraan = $mobilsplit[0];
$plat = $mobilsplit[1];
$identitas = $_POST['identitas'][$i];
$month = date('n');
$years=date('Y');
if($idlot != 0){
$a=mysql_query("INSERT INTO surat_jalan VALUES ('',now(),'$_POST[nosurat]','$idlot','$benang','$warna','$lot','$harga','$netto','$box','$cones','$idcus','$cus','$alamatcus','$kota','$idpo','$nopo','$ket',1,'$month$years','$identitas','$kendaraan','$plat','$idbenang')");
$aax=mysql_query("SELECT * FROM lot WHERE id_lot='$idlot'");
$xx=mysql_fetch_array($aax);
$net=$xx['netto'] - $netto;
$bbox=$xx['box'] - $box;
$ccones=$xx['cones'] - $cones;
if($net == 0)
{
$a= mysql_query("UPDATE lot SET netto = '$net',
box = '$bbox',
cones = '$ccones',
warning = 1
WHERE id_lot = '$idlot'");
}
else
{
$a=mysql_query("UPDATE lot SET netto = '$net',
box = '$bbox',
cones = '$ccones'
WHERE id_lot = '$idlot'");
}
}
$b = $i + 1;
for ($c = 0; $c < $box; $c++) {
$packinglist = $_POST["packinglist$b"][$c];
$a= mysql_query("INSERT INTO packing_list VALUES('','$packinglist','$surat[id_surat]','$surat[no_surat_jalan]')");
}
}
}
}
答案 0 :(得分:1)
这个怎么样?我举一个例子,但这可能会(可能)所有查询。让我们说一下(从最后一个开始):
$a = mysql_query("UPDATE lot SET netto = '$net', box = '$bbox', cones = '$ccones' WHERE id_lot = '$idlot'");
要检查是否成功,您可以添加其他行:
if ($a) // Success?
print("Row has been updated.<br>");
else // Error
print("An error has occured; row has not been updated. Reason: ".mysql_error()."<br>");
如果最后没有重定向等,并且至少有一个错误(最后一个?),那么你的朋友会看到如下内容:
发生了错误;行尚未更新。原因:#1054 - 未知列&#39;视锥细胞&#39;在&#39; where子句&#39;
发生了错误;行尚未更新。原因:#1054 - 未知列&#39;框&#39;在&#39;字段列表&#39;
有了这个帮助,您可以查看查询或应用程序本身是否有错误(超时?)。
还有另一个问题:您正在使用PHP的mysql_API,这是不推荐使用的。相反,您应升级并使用mysqli_API。