다중 쿼리를 사용한 mysqli 쿼리 준비
mysqli의 준비된 문 기능에서는 다중 쿼리 준비가 지원되지 않습니다. mysqli의 준비된 명령문은 단일 MySQL 쿼리 실행으로 제한됩니다.
대체 접근 방식:
여러 쿼리를 순차적으로 실행해야 하는 경우 별도의 준비된 명령문을 생성할 수 있습니다. 각 쿼리에 대한 명령문:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?)");
거래 기반 접근 방식:
또는 트랜잭션을 사용하여 두 쿼리가 모두 실행되거나 둘 다 실행되지 않도록 할 수 있습니다.
$sql->begin_transaction(); // Execute both queries if (!$stmtUser->execute() || !$stmtProc->execute()) { $sql->rollback(); } else { $sql->commit(); }
오류 디버깅:
"객체가 아닌 멤버 함수 호출" 오류가 발생하면 명령문 준비가 실패했음을 나타냅니다. prepare() 문에 오류가 있는지 주의 깊게 확인하세요.
위 내용은 MySQLi 준비된 문은 여러 쿼리를 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!