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 (?,?);");
할 수 있습니다. 그런 다음 이 문을 독립적으로 실행합니다. 예를 들면 다음과 같습니다.
$stmtUser->bind_param("ssss", $id, $username, $pw, $email); $stmtUser->execute(); $stmtProc->bind_param("ss", $id, $idp); $stmtProc->execute();
두 쿼리를 동시에 엄격하게 실행해야 하는 경우 트랜잭션 사용을 고려해야 합니다. 트랜잭션은 두 쿼리가 모두 성공하거나 둘 다 실패하도록 보장합니다.
마지막으로 "객체가 아닌 멤버 함수에 대한 호출" 오류는 일반적으로 prepare() 문의 실패를 나타내며 이를 검사해야 한다는 점을 기억하세요. 오류가 발생했습니다.
위 내용은 MySQLi 준비된 명령문은 여러 쿼리를 동시에 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!