>  기사  >  백엔드 개발  >  mysqli 객체의 multi_query() 메소드

mysqli 객체의 multi_query() 메소드

WBOY
WBOY원래의
2016-08-08 09:26:151153검색

한 번에 여러 SQL 명령을 실행하려면 mysqli 객체의 multi_query() 메서드를 사용하세요.

특정 메서드:

동일한 문자열에 여러 SQL 명령을 작성하고 이를 multi_query() 메서드에 매개 변수로 전달합니다. 세미콜론(;)을 사용하여 여러 SQL 명령을 구분합니다. 첫 번째 명령 실행에 오류가 없으면 이 메서드는 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

multi_query() 메서드는 연결하여 하나 이상의 쿼리를 실행할 수 있고 각 SQL 명령은 결과를 반환할 수 있으므로 필요할 때 각 결과 집합을 가져와야 합니다. 따라서 이 메서드에서 반환된 결과 처리에 일부 변경 사항이 있습니다. 물론, 첫 번째 쿼리 명령의 결과는 mysqli 개체의 use_result() 또는 store_result() 메서드를 사용하여 읽어야 합니다. store_result() 클라이언트 메서드를 즉시 사용하면 이 접근 방식이 더 효율적입니다. 또한, mysqli 객체의 more_results() 메소드를 사용하여 다른 결과 세트가 있는지 확인할 수 있습니다.

다음 결과 세트를 처리하려면 mysqli 객체의 next_results() 메서드를 호출하여 다음 결과 세트를 얻어야 합니다. 이 메서드는 TRUE 또는 FALSE를 반환합니다.

다음 결과 세트가 있으면 use_result() 또는 store_result() 메소드를 사용하여 읽어야 합니다.


여러 SQL 명령을 실행하는 코드는 다음과 같습니다.
$mysqli=new mysqli("localhost","mysql_user","mysql_pwd","my_db_name ");
/* 연결 확인 */
if($mysqli->mysql_connect_errno()){
printf ("연결 실패: %s
",mysql_connect_error());
종료( );
}
$query="이름 설정 GB2312;";
$query.="SELECT CURERENT_USER();" $query.="이름, 연락처 정보에서 전화번호 제한 2" ;
/* 다중 쿼리 실행 */
if($mysqli->multi_query($query)){
do{
do{
if($result=$ mysqli-> ;store_result()){
                                                                                            ~ > ~   . echo '
';
}
                                 > if($mysqli->more_results() ){
";
}
}while($mysqli->next_result());
}
/* 연결 닫기 */
  $mysqli->close( );
?>

참고:

위의 예에서 mysqli 개체의 multi_query() 메서드는 한 번에 세 개의 SQL 명령을 실행하여 여러 결과를 얻는 데 사용됩니다. 그들로부터 데이터를 설정하고 탐색합니다. 명령 처리 중에 오류가 발생하면 multi_query() 및 next_result() 메서드에 문제가 발생합니다.

multi_query() 메소드의 반환 값과 mysqli의 errno, error, info 등의 속성은 첫 번째 SQL 명령에만 관련되어 있으므로 오류가 발생했는지 여부를 판단하는 것은 불가능합니다. 두 번째 및 후속 명령의 실행. 따라서 multi_query() 메서드의 반환 값이 TRUE라고 해서 후속 명령 실행에 오류가 없다는 의미는 아닙니다.
위 내용은 관련 내용을 포함하여 mysqli 객체의 multi_query() 메소드를 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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