>백엔드 개발 >PHP 튜토리얼 >MySQLi 준비된 명령문은 여러 쿼리를 동시에 처리할 수 있습니까?

MySQLi 준비된 명령문은 여러 쿼리를 동시에 처리할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-29 04:02:14929검색

Can MySQLi Prepared Statements Handle Multiple Queries Simultaneously?

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

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