PHP에서는 MySQLI Extension을 사용하여 MySQL 데이터베이스와 상호 작용할 때 몇 가지 일반적인 오류가 발생할 수 있습니다. 이러한 오류의 경우 MySQLI :: $ errno를 통해 오류 코드를 가져와 문제를 진단하는 데 도움이됩니다. 특히 데이터베이스 연결 오류와 SQL 구문 오류를 구별하는 것이 중요합니다. 이 기사는 MySQLI :: $ errno를 사용 하여이 두 가지 오류를 구별하는 방법을 설명합니다.
데이터베이스 연결 오류는 일반적으로 데이터베이스에 연결하려고 할 때 발생합니다. 데이터베이스 서버에 주소, 사용자 이름, 비밀번호 또는 데이터베이스 이름에 오류가있는 경우 연결이 실패합니다. 이 경우 MySQLI :: $ errno는 특정 오류 코드를 반환 하며이 코드를 기반으로 문제를 판단 할 수 있습니다.
<?php
$host = 'localhost'; // 데이터베이스 서버 주소
$user = 'root'; // 데이터베이스 사용자 이름
$password = ''; // 데이터베이스 비밀번호
$database = 'test'; // 데이터베이스 이름
// 데이터베이스 연결을 만듭니다
$conn = new mysqli($host, $user, $password, $database);
// 연결이 성공했는지 확인하십시오
if ($conn->connect_errno) {
echo "연결 오류: " . $conn->connect_error;
// ~에 따르면errno오류 유형을 결정하십시오
if ($conn->connect_errno == 1049) {
echo "데이터베이스가 존재하지 않습니다!";
} elseif ($conn->connect_errno == 1045) {
echo "잘못된 사용자 이름 또는 비밀번호!";
}
exit();
}
echo "데이터베이스에 성공적으로 연결하십시오!";
?>
이 예에서는 데이터베이스 연결이 실패하면 $ conn-> connect_errno가 오류 코드를 반환합니다. 예를 들어, 오류 코드 1049는 데이터베이스가 존재하지 않음을 나타내고 오류 코드 1045는 사용자 이름이나 비밀번호가 잘못되었음을 나타냅니다. 이러한 오류 코드를 사용하면 문제를보다 정확하게 찾을 수 있습니다.
SQL 쿼리를 실행하면 SQL 구문 오류로 인해 쿼리가 실패 할 수 있습니다. 현재 MySQLI :: $ errno는 SQL 오류와 관련된 코드를 반환합니다. 오류 코드를 판단하면 SQL 구문 오류인지 또는 기타 유형의 오류 여부를 빠르게 구별 할 수 있습니다.
<?php
$host = 'localhost';
$user = 'root';
$password = '';
$database = 'test';
// 데이터베이스 연결을 만듭니다
$conn = new mysqli($host, $user, $password, $database);
// 구문 오류를 실행하십시오SQL질문
$sql = "SELEC * FROM users"; // 실수的질문:SELEC 해야합니다 SELECT
$result = $conn->query($sql);
// 조사하다SQL실행이 성공적인지 여부
if ($result === false) {
echo "SQL실수: " . $conn->error;
// 判断실수代码
if ($conn->errno == 1064) {
echo "SQL语法실수!";
}
exit();
}
echo "질문成功!";
?>
이 예에서 SQL 쿼리에는 구문 오류가 있고 ( selec은 선택 해야 함), $ conn-> errno는 1064를 반환하여 SQL 구문 오류를 나타냅니다. mysqli :: $ errno 의 값을 판단하면 SQL 쿼리의 문제를 신속하게 찾을 수 있습니다.
mysqli :: $ errno는 데이터베이스 연결 오류를 SQL 구문 오류와 구별하는 효과적인 방법을 제공합니다. 반환 된 오류 코드를 확인하면 문제를 신속하게 진단하고 디버깅 시간을 줄일 수 있습니다.
데이터베이스 연결 오류 : Connect_ERRNO는 일반적으로 연결이 성공 여부를 확인하고 오류 코드 (예 : 사용자 이름 또는 비밀번호 오류, 데이터베이스가 존재하지 않는 등)로 다른 연결 오류를 구별하는 데 사용됩니다.
SQL 구문 오류 : SQL 쿼리에 문제가있는 경우 $ conn-> errno 가 반환 한 오류 코드는 구문 오류를 인식하는 데 도움이 될 수 있습니다.
이 두 가지 오류 처리 방법을 사용하면 데이터베이스 작업을 더 잘 관리하고 디버그하고 코드의 견고성을 향상시키는 데 도움이됩니다.