mysql中的多个插入输入数据

时间:2018-06-04 16:10:12

标签: php html

我有多个输入$ _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

1 个答案:

答案 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

中是否有您期望的内容