MySQL: 명령 동기화 오류
문제:
사용자에게 "명령"이 발생합니다. 여러 MySQL 쿼리를 실행하려고 할 때 동기화되지 않음, 지금 이 명령을 실행할 수 없습니다' 오류 발생 mysqli를 순차적으로 사용합니다.
원인:
이 오류는 mysqli가 준비된 명령문에 대해 기본적으로 버퍼링되지 않은 쿼리를 사용하기 때문에 발생합니다. 즉, 다음 쿼리를 실행하기 전에 첫 번째 쿼리의 결과를 검색해야 합니다.
해결책:
이 문제를 해결하는 방법에는 두 가지가 있습니다.
방법 1: 결과를 배열
첫 번째 쿼리 결과를 배열로 가져와서 반복합니다. 이 접근 방식에는 다음 단계가 포함됩니다.
방법 2: 버퍼링 쿼리
mysqli를 버퍼링하도록 구성 mysqli_stmt_store_result()를 사용한 쿼리. 이 접근 방식에는 다음 단계가 포함됩니다.
구현:
예를 들어 제공된 코드에서 방법 2를 구현하려면:
... $countQuery = "SELECT ARTICLE_NO FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE % ? %"; if ($numRecords = $con->prepare($countQuery)) { $numRecords->bind_param("s", $brand); $numRecords->execute(); $numRecords->store_result(); // Buffer the results ... } ...
추가 참고:
위 내용은 MySQL `명령이 동기화되지 않음` 오류: mysqli의 순차 쿼리 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!