我有多个输入$ _POST到sql的问题,但我看不到$ _POST,这里是我的代码:
Html代码:
<form action="inc/barangproses.php" method="post" class="modal-content form-horizontal" id="updateallform">
<input id="CPU0014" name="noresi[]" value="CPU0014" class="hidden" type="text">
<input id="CPU0017" name="noresi[]" value="CPU0017" class="hidden" type="text">
<input id="CPU0020" name="noresi[]" value="CPU0020" class="hidden" type="text">
<button type="submit" class="btn btn-success" name="updateallbarang">Update</button>
</form>
PHP代码:
if (isset($_POST['updateallbarang'])) {
$resi = $_POST['noresi'];
$idstatus = '3';
$sql = "";
foreach($resi as $noresi ){
$sql .= "INSERT INTO tracking(NORESI)
VALUES ('$noresi');";
$sql .= "INSERT INTO logkiriman(NORESI)
VALUES ('$noresi');";
$sql .= "UPDATE kiriman SET IDSTATUS = '$idstatus' WHERE NORESI = '$noresi';";
}
multiquery_db($sql);
}
else {
header('location: ../barang.php?error='.base64_encode('Pilih kiriman terlebih dahulu.'));
}
}
配置代码:
$db_host = "localhost";
$db_user = "root";
$db_password = "";
$db_name = "db";
$dir = "http://localhost/admin/";
$konek = mysqli_connect($db_host,$db_user,$db_password,$db_name);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
function multiquery_db($query){
global $konek;
$result = mysqli_multi_query($konek, $query);
return $result;
mysqli_free_result($konek);
mysqli_close($konek);
}
Sql Result未显示$ noresi:
INSERT INTO tracking(NORESI) VALUES ('');
INSERT INTO logkiriman(NORESI) VALUES ('');
UPDATE kiriman SET IDSTATUS = '3' WHERE NORESI = '';
INSERT INTO tracking(NORESI) VALUES ('');
INSERT INTO logkiriman(NORESI) VALUES ('');
UPDATE kiriman SET IDSTATUS = '3' WHERE NORESI = '';
INSERT INTO tracking(NORESI) VALUES ('');
INSERT INTO logkiriman(NORESI) VALUES ('');
UPDATE kiriman SET IDSTATUS = '3' WHERE NORESI = '';
请告诉我错误的代码在哪里?我想用多个查询输入多个$ _POST ['noresi']到MySQL
答案 0 :(得分:0)
为什么不在foreach循环中执行每个查询并首先以这种方式测试?
示例强>
var_dump($resi);
foreach($resi as $noresi ){
mysqli_query("INSERT INTO tracking(NORESI) VALUES ('$noresi')");
mysqli_query("INSERT INTO logkiriman(NORESI) VALUES ('$noresi')");
mysqli_query("UPDATE kiriman SET IDSTATUS = '$idstatus' WHERE NORESI = '$noresi'");
}
修改强>
这里var_dump
的目的是将数组的内容回显到屏幕,这样您就可以看到$resi