PHP에서 MySQLI는 MySQL 데이터베이스를 작동하는 데 사용되는 매우 일반적인 데이터베이스 확장 라이브러리입니다. 그리고 mysqli :: $ errno는 가장 최근의 MySQL 오류를 얻는 데 사용되는 오류 코드입니다. 실수로 잘못된 범위를 사용하여 호출하는 경우 잘못 판단 오류로 이어지고 프로그램의 안정성과 정확성에 영향을 줄 수 있습니다. 오늘날 우리는 모든 사람들이 함정을 피하는 데 도움이되는이 일반적인 문제에 대해 논의 할 것입니다.
mysqli :: $ errno는 mysqli 클래스에 속하는 속성입니다. 마지막 작업에서 발생한 오류 코드 (예 : 쿼리, 연결, SQL 문 실행 등)를 반환하는 데 사용됩니다. 오류가 없으면 반환 값은 0 입니다.
일반적으로 mysqli :: $ errno는 다른 MySQL 오류 메시지와 함께 사용됩니다. 예를 들어, mysqli :: $ 오류는 오류 코드에 해당하는 오류 메시지를 반환합니다.
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_error) {
echo "연결이 실패했습니다: " . $mysqli->connect_error;
exit();
}
// 구현하다 SQL 질문
$result = $mysqli->query("SELECT * FROM non_existent_table");
if ($mysqli->errno) {
echo "SQL 오류 코드: " . $mysqli->errno . "\n";
echo "오류 메시지: " . $mysqli->error . "\n";
}
?>
이 예에서 쿼리 테이블이 존재하지 않으면 $ mysqli-> errno는 0이 아닌 오류 코드를 반환하여 오류가 발생했음을 나타냅니다.
오류의 범위는 일반적으로 잘못된 맥락에서 mysqli :: $ errno를 호출한다는 사실을 나타냅니다. 이에 대한 가장 일반적인 점은 데이터베이스 연결 인스턴스 ( $ mysqli )를 사용하는 경우, 연결을 올바르게 초기화하거나 잘못된 개체 컨텍스트 에서이 속성에 액세스하지 않으면 잘못된 오류 코드 또는 오류 메시지가 발생할 수 있습니다.
<?php
// 잘못된 사용 mysqli::$errno
$mysqli = new mysqli("localhost", "user", "password", "database");
// 잘못된 범위를 사용하십시오
if ($mysqli->errno) {
echo "SQL 오류 코드: " . $mysqli->errno . "\n";
echo "오류 메시지: " . $mysqli->error . "\n";
}
?>
이 예에서 SQL 작업이 수행되지 않은 경우 (예 : 쿼리 실행), $ mysqli-> errno 의 값은 0이 되지만 프로그램이 올바르게 처리되지 않으면 오류로 오인 될 수 있습니다. mysqli :: $ errno 의 오류 코드는 쿼리가 실패했고 실제로 쿼리를 전혀 실행하지 않을 수 있기 때문입니다.
잘못 판단을 피하기 위해 MySQLI :: $ errno 의 값은 SQL 작업을 수행 한 후에 만 확인하는 것이 좋습니다. 즉, mysqli :: $ errno는 데이터베이스 작업 (예 : 쿼리 또는 삽입) 후에 만 의미가 있습니다.
예를 들어:
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_error) {
echo "연결이 실패했습니다: " . $mysqli->connect_error;
exit();
}
// 구현하다 SQL 질문
$result = $mysqli->query("SELECT * FROM non_existent_table");
if ($result === false) {
echo "SQL 오류 코드: " . $mysqli->errno . "\n";
echo "오류 메시지: " . $mysqli->error . "\n";
}
?>
이 코드에서는 쿼리 작동 $ mysqli-> query ()가 false (실패 표시)를 반환 할 때만 mysqli :: $ errno 만 확인합니다. SQL 작업을 수행하지 않고 확인하면 잘못 판단 될 수 있습니다.
SQL 작업을 수행하기 전에 mysqli :: $ errno를 확인하면 0 이 반환되므로 오류가 없습니다. 그러나 이것이 유효한 오류 코드라고 잘못 생각하면 프로그램이 오류 처리 로직을 입력하고 후속 데이터베이스 작업을 예측할 수 없게 만들 수 있습니다.
간단한 예를 들어 다음 오류 코드를 사용하는 경우 실제로 오류가 발생하지 않지만 검사의 부적절한 범위로 인해 프로그램이 잘못 판단되고 오류 처리됩니다.
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
// 오류 확인
if ($mysqli->errno) {
echo "오류 코드: " . $mysqli->errno;
} else {
echo "오류가 없습니다";
}
?>
이 경우 프로그램에 오류가 없지만 오류 범위로 인해 출력이 "오류 없음"이 될 수 있으며, 이는 잘못 판단됩니다.
mysqli :: $ errno는 SQL 작업을 수행 한 후에 만 올바르게 점검 할 수 있습니다.
mysqli :: $ errno는 데이터베이스 작업을 수행하기 전에 0 의 값을 가지며이 시점에서 확인하면 유효한 오류 메시지가 표시되지 않습니다.
적절한 범위를 사용하면 잘못 판단을 피하고 프로그램의 견고성을 보장 할 수 있습니다.
이 기사가 잘못된 범위로 mysqli :: $ errno를 호출하면 오류를 방지하기위한 몇 가지 제안을하는 이유를 이해하는 데 도움이되기를 바랍니다. PHP 또는 데이터베이스에 대한 다른 질문이 있으시면 당사 웹 사이트를 방문하십시오!