여러 mysqli 쿼리: INSERT 문을 동시에 실행
원래 문제:
실행 시도 mysqli_query()를 사용하는 두 개의 INSERT 문 연속적으로 두 번째 쿼리가 실패합니다. 이 문제는 단일 호출에서 여러 쿼리가 실행되는 것을 방지하는 MySQL의 보안 조치에서 비롯됩니다.
해결책: mysqli_multi_query()
한 번에 여러 쿼리를 실행하려면 호출하려면 mysqli_multi_query()를 활용해야 합니다. 함수:
$query = "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName');"; $query .= "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year');"; $result = mysqli_multi_query($mysqli, $query);
쿼리 결과 처리
mysqli_multi_query()를 실행하면 부울 값이 반환됩니다. 그러나 mysqli_store_result()를 사용하여 각 쿼리의 결과를 수동으로 검색하고 mysqli_more_results() 및 mysqli_next_result()를 사용하여 이를 반복하는 것이 중요합니다.
while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli)) { if (($result = mysqli_store_result($mysqli)) === false && mysqli_error($mysqli) != '') { echo "Query failed: " . mysqli_error($mysqli); } }
mysqli_multi_query()
추가의 고려 사항
위 내용은 mysqli를 사용하여 MySQL에서 여러 INSERT 문을 동시에 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!