>  기사  >  백엔드 개발  >  MySQLi 준비된 문은 여러 쿼리를 처리할 수 있습니까?

MySQLi 준비된 문은 여러 쿼리를 처리할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-25 06:07:12830검색

Can MySQLi Prepared Statements Handle Multiple Queries?

다중 쿼리를 사용한 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.