mysqli_multi_query
함수를 사용하여 동일한 테이블에 여러 행을 삽입하려고하지만 첫 번째 쿼리 만 실행합니다. 쉼표로 구분 된 첫 번째 쿼리 끝에 값을 추가하는 시도했다 그러나 아무것도 작동하는 것. 어떤 제안?PHP는 mysqli_multi_query() 첫 번째 쿼리 후 삽입 중지
준비된 문으로 전환했지만 여전히 첫 번째 결과 만 삽입되었습니다. 내가 놓친 게 있니?
$DBConnect = mysqli_connect("localhost", "root", "", "getpressed");
if ($DBConnect->connect_error) {
die("Connection failed: " . $DBConnect->connect_error);
}
$stmt = $DBConnect->prepare("INSERT INTO orderdetails (orderID, productID, quantity) VALUES (?, ?, ?)");
$stmt->bind_param("iii", $orderID, $productID, $quantity);
$orderID = $orderID;
$productID = 1;
$quantity = $sportShirtQuantity;
$stmt->execute();
$orderID = $orderID;
$productID = 2;
$quantity = $sportCoatQuantity;
$stmt->execute();
echo "New records created successfully";
$stmt->close();
$DBConnect->close();
**이 기능을 사용하지 마십시오. 본질적으로 위험합니다. 자리 표시 자 값과 ['bind_param']을 사용하여 [prepared statements] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)를 사용하십시오 (http://php.net/manual/en/ mysqli-stmt.bind-param.php)를 사용하여 쿼리에 사용자 데이터를 추가하십시오. 이것을 두 개의 값을 가진 하나의 INSERT로 할 수도 있고 다른 바인딩으로 두 번 실행하는 INSERT를 준비 할 수도있다. 어느 쪽이든 당신이 여기있는 것보다 훨씬 낫습니다. – tadman
지금까지 제공되는 모든 바보 같은 대답 중에서 유일하게 올바른 방법은 @ 태드 먼이 쓴 것입니다. 더 빠르며 사소한 것이고, 'max_allowed_packet'에 저항력이 있습니다. 안전합니다. 누군가가 당신에게 말할 수있는 다른 해결책은 준비된 진술과 비교 된 말 분뇨입니다. –