PHP에서 MySQL 데이터베이스를 사용할 때 MySQLI Extension은 데이터베이스 작업을 처리 할 수있는 풍부한 기능을 제공합니다. mysqli :: get_warnings는 개발자가 SQL 문을 실행 한 후 데이터베이스에 의해 생성 된 경고 정보를 얻을 수 있도록 개발자가 더 나은 디버그 및 최적화를 위해 경고 정보를 얻는 데 도움이되는 매우 실용적인 기능 중 하나입니다. 이 기사를 사용하면 MySQLI :: get_warnings 의 기본 사용 및 예방 조치를 빠르게 이해하게됩니다.
mysqli :: get_warnings 함수는 현재 연결에 의해 생성 된 모든 경고 정보를 포함하는 객체 ( mysqli_warning )를 반환하는 데 사용되며, 이는 일반적으로 MySQL 실행 명령문 후에 비 지방적인 힌트입니다. 예를 들어, 데이터를 삽입 할 때 데이터 자료 또는 데이터 유형 불일치가 있지만 SQL 문 자체에는 오류가 없습니다.
이러한 경고를 받으면 개발자가 잠재적 인 문제를 발견하고 프로그램 예외 또는 데이터 예외를 피하는 데 도움이됩니다.
다음 예제는 mysqli :: get_warnings를 사용하여 경고 정보를 얻는 방법을 보여줍니다.
<?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");
if ($mysqli->connect_error) {
die("연결이 실패했습니다: " . $mysqli->connect_error);
}
// 실행은 경고를 생성 할 수 있습니다SQL성명,예를 들어, 데이터 유형이 일치하지 않습니다
$sql = "INSERT INTO users (id, name) VALUES (1, '장 산'), (2, 'Li Si'), (3, '왕 우')";
if ($mysqli->query($sql) === TRUE) {
echo "성공적으로 삽입하십시오\n";
// 경고 정보를 얻으십시오
if ($warn = $mysqli->get_warnings()) {
do {
echo "경고 번호: " . $warn->errno . "\n";
echo "경고 메시지: " . $warn->message . "\n";
} while ($warn->next());
} else {
echo "경고가 없습니다\n";
}
} else {
echo "실수: " . $mysqli->error;
}
$mysqli->close();
?>
mysqli :: get_warnings는 mysqli_warning 객체를 반환하고 경고가 없으면 null을 반환합니다.
$ warn-> errno를 통해 경고 코드를 받으십시오.
$ warn-> 메시지를 통해 경고 설명을 받으십시오.
$ warn-> next () 방법을 통해 모든 경고를 반복하십시오.
데이터가 삽입되거나 업데이트 될 때 경고 캡처 <br> 데이터를 삽입 할 때 필드 유형이 일치하지 않거나 데이터가 잘립니다. SQL 문은 성공적으로 실행될 수 있지만 경고를 생성 할 수 있습니다. 현재 get_warnings를 사용 하여이 정보를 캡처하십시오.
복잡한 SQL 문 <br> 디버깅 일부 복잡한 쿼리 또는 업데이트로 인해 외국의 주요 제약 조건이 충족되지 않거나 캐릭터 인코딩 문제와 같은 경고가 발생할 수 있습니다. 이 기능을 사용하면 문제를 찾는 데 도움이 될 수 있습니다.
mysqli :: get_warnings는 개발자가 MySQL 경고 메시지를 캡처 할 수 있도록 매우 유용한 디버깅 도구입니다. 잠재적 인 데이터베이스 문제를 해결하고 프로그램 안정성을 보장하는 것이 매우 중요합니다. 이 기사를 소개함으로써 MySQLI :: get_warnings 의 사용 기술을 신속하게 마스터하고 PHP 데이터베이스 프로그래밍의 품질을 향상시킬 수 있기를 바랍니다.