मुझे एसक्यूएल में एकाधिक इनपुट $ _POST के साथ कुछ समस्या है लेकिन मैं $ _POST नहीं देख सकता, यहां मेरा कोड:

एचटीएमएल कोड:

<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);
  }

एसक्यूएल परिणाम $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 = '';

कृपया मुझे बताएं कि गलत कोड कहां है? मैं MySQL में एकाधिक क्वेरी के साथ एकाधिक $_POST['noresi'] इनपुट करना चाहता हूं

0
Baby Corp 4 जून 2018, 19:10

1 उत्तर

सबसे बढ़िया उत्तर

फ़ोरैच लूप में क्यों नहीं, प्रत्येक क्वेरी को निष्पादित करें और पहले इस तरह से परीक्षण करें?

उदाहरण

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 में अपेक्षित है या नहीं।

0
Liam G 4 जून 2018, 20:06