개발 중에 MySQLI를 사용하여 MySQL 데이터베이스에 연결할 때 다양한 오류가 발생할 수 있습니다. 이러한 문제를 디버깅하기 위해 MySQLI :: $ errno를 사용하여 오류 정보를 신속하게 얻고 오류의 특정 원인을 이해할 수 있습니다. 이 기사에서는 mysqli :: $ errno 및 공통 MySQL 오류 코드 의미를 사용하는 방법을 소개합니다.
mysqli :: $ errno는 MySQLI 클래스의 마지막 MySQL 작업에 오류 코드를 저장하는 속성입니다. 이 속성에 액세스하여 데이터베이스 작업이 성공했는지 확인할 수 있습니다. 작업이 실패하면 $ errno는 오류 코드를 반환 하고이 오류 코드를 기반으로 문제를 진단 할 수 있습니다.
먼저 MySQL 데이터베이스에 연결하고 SQL 문을 실행해야합니다. SQL 문을 실행하는 동안 오류가 발생하면 mysqli :: $ errno가 해당 오류 코드로 설정됩니다. 예는 다음과 같습니다.
<?php
// 만들다 mysqli 객체 및 데이터베이스에 연결하십시오
$mysqli = new mysqli("localhost", "username", "password", "database_name");
// 연결이 성공했는지 확인하십시오
if ($mysqli->connect_errno) {
echo "데이터베이스에 연결하지 못했습니다: " . $mysqli->connect_error;
exit();
}
// 구현하다 SQL 성명
$result = $mysqli->query("SELECT * FROM non_existent_table");
// 쿼리가 성공했는지 확인하십시오
if (!$result) {
echo "쿼리가 실패했습니다,오류 코드: " . $mysqli->errno . "<br>";
echo "오류 메시지: " . $mysqli->error;
}
$mysqli->close();
?>
위의 코드에서, 우리는 존재하지 않는 테이블 ( non_existent_table )에 대한 쿼리를 의도적으로 실행하여 오류를 유발합니다. $ mysqli-> errno는 오류 코드를 반환하고 오류 코드를 기반으로 오류의 특정 원인을 찾을 수 있습니다.
다음은 개발자가 오류 메시지를 더 잘 이해하도록 돕는 몇 가지 일반적인 MySQL 오류 코드와 그 의미입니다.
오류 코드 | 오류 메시지 | 설명하다 |
---|---|---|
1045 | 사용자에 대한 액세스 거부 | 일반적으로 사용자 이름 또는 비밀번호 오류로 사용자 인증이 실패했습니다. |
1049 | 알 수없는 데이터베이스 | 데이터베이스가 존재하지 않습니다 |
1146 | 테이블 'xxx'가 존재하지 않습니다 | 테이블이 존재하지 않습니다 |
1064 | SQL 구문에 오류가 있습니다 | SQL 구문 오류 |
1062 | 키 '기본'의 중복 항목 | 기본 키 충돌, 중복 기본 키 삽입 |
2002 | 로컬 MySQL 서버에 연결할 수 없습니다 | MySQL 서버에 연결할 수 없으며 일반적으로 서버가 시작되지 않습니다. |
2013 | MySQL 서버에 대한 연결 손실 | 연결 손실, 네트워크 문제 또는 서버 시간 초과 |
1142 | 거부 된 명령을 선택하십시오 | 사용자는 선택한 작업을 수행 할 권한이 없습니다. |
1366 | 잘못된 정수 값 | 삽입 된 데이터 유형이 필드 유형과 일치하지 않습니다. |
1054 | 알 수없는 열 | 쿼리 열이 존재하지 않습니다 |
mysqli :: $ errno 가 제공 한 오류 코드를 만나면 다음은 다음과 같습니다.
오류 코드 1045 (사용자에 대한 액세스 거부) : 이는 제공된 사용자 이름 또는 비밀번호가 올바르지 않음을 의미합니다. 올바른 자격 증명에 연결하고 구성 파일에 저장된 데이터베이스 로그인 정보를 확인하십시오.
오류 코드 1049 (알 수없는 데이터베이스) :이 오류는 연결된 데이터베이스가 존재하지 않음을 나타냅니다. 데이터베이스 이름이 올바르게 철자인지 확인하거나 데이터베이스 서버에서 해당 데이터베이스를 작성해야합니다.
오류 코드 1064 (SQL 구문에 오류가 있습니다) : 이것은 SQL 구문 오류입니다. SQL 쿼리 문에 오타가 있는지 확인하고 SQL 문이 구문 규칙을 준수하는지 확인하십시오.
오류 코드 1062 (키 '기본'의 중복 항목) :이 오류는 중복 기본 키 값을 삽입하려고한다는 것을 나타냅니다. 삽입 된 데이터를 확인하여 중복이 없는지 확인하거나 기본 키 값을 변경할 수 있습니다.
오류 코드 1146 (표 'XXX'가 존재하지 않음) :이 오류는 쿼리 테이블이 존재하지 않음을 나타냅니다. 테이블이 생성되었는지 확인하거나 쿼리 문의 테이블 이름이 올바른지 확인해야합니다.
mysqli :: $ errno는 MySQL 오류의 원인을 신속하게 찾는 데 도움이되는 매우 실용적인 도구입니다. 오류 코드와 오류 메시지를 결합하면 문제를보다 효율적으로 해결할 수 있습니다. 또한 일반적인 MySQL 오류 코드와 그 의미를 이해하면 개발 중 디버깅 효율을 향상시키는 데 도움이 될 수 있습니다.
이 기사가 MySQLI :: $ errno를 더 잘 이해하고 사용하고 MySQL 오류를보다 쉽게 처리하는 데 도움이되기를 바랍니다. 다른 문제가 발생하면 추가 검색을 위해 공식 MySQL 오류 코드 문서를 참조하십시오.