API의 가용성 및 사용자 경험과 직접 관련된 RESTFUL API를 개발할 때 오류 처리가 매우 중요합니다. API가 데이터베이스와 상호 작용할 때 데이터베이스 오류는 인터페이스의 안정성에 영향을 줄 수 있으며 이러한 오류를 효율적이고 정확하게 캡처하는 방법이 중요한 문제가됩니다. PHP에서 MySQLI :: $ errno는 데이터베이스 오류 상태 코드를 정확하게 반환하여 API의 오류 처리 기능을 향상시키는 데 도움이되는 매우 유용한 기능입니다.
mysqli :: $ errno는 MySQLI Extension에서 제공하는 속성으로, 가장 최근의 데이터베이스 작업의 오류 번호를 얻는 데 사용됩니다. 데이터베이스 작업에서 오류가 발생하면 MySQL은 오류 코드를 반환하고 MySQLI :: $ errno는 오류 번호를 캡처하고 반환하는 데 사용됩니다. 일반적 으로이 오류 번호는 MySQLI :: $ 오류 속성과 함께 사용되며 오류에 대한 자세한 설명이 포함되어 있습니다.
RESTFUL API는 프론트 엔드에 대한 통합적이고 간결하며 이해하기 쉬운 인터페이스를 제공하도록 설계되었습니다. 개발 프로세스 중에 데이터베이스 작업은 일반적인 요구 사항 중 하나입니다. API의 안정성과 사용 편의성을 향상시키기 위해 MySQLI :: $ errno를 사용하여 데이터베이스 오류를 포착하고 적절한 오류 상태 코드를 반환하여 프론트 엔드 개발자 또는 사용자에게 피드백을 피할 수 있습니다.
데이터베이스 <br>에 연결하십시오 MySQLI를 사용하여 데이터베이스 연결이 성공적인지 확인하기 위해 데이터베이스에 연결하십시오.
데이터베이스 작업을 수행하십시오 <br> 삽입, 업데이트, 쿼리 등과 같은 작업을 수행합니다.
오류를 점검하고 잡으십시오 . <br> 데이터베이스 오류가 발생하면 mysqli :: $ errno를 사용하여 오류 번호를 얻고 오류 번호에 따라 해당 상태 코드를 반환하십시오.
오류 응답을 반환 <br> API 응답에서 오류 상태 코드 및 오류 정보를 반환하여 다른 오류 유형에 따라 해당 처리를 처리하도록 프론트 엔드를 용이하게합니다.
<?php
// 데이터베이스 연결을 만듭니다
$mysqli = new mysqli("localhost", "user", "password", "database");
// 데이터베이스 연결이 성공했는지 확인하십시오
if ($mysqli->connect_error) {
die("연결이 실패했습니다: " . $mysqli->connect_error);
}
// 데이터베이스 작업을 수행합니다
$sql = "INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')";
if ($mysqli->query($sql) === TRUE) {
echo "새로운 레코드 삽입 성공";
} else {
// 데이터베이스 오류를 잡고 처리합니다
$errorCode = $mysqli->errno;
$errorMessage = $mysqli->error;
// 정의API응답 구조
$response = [
"status" => "error",
"code" => $errorCode,
"message" => "데이터베이스 오류: " . $errorMessage
];
// 산출 JSON 형식 오류 응답
header('Content-Type: application/json');
echo json_encode($response);
}
// 데이터베이스 연결을 닫습니다
$mysqli->close();
?>
$ mysqli-> errno : 데이터베이스 작업이 실패하면 $ mysqli-> errno는 mysql 오류의 오류 코드를 반환합니다. 예를 들어 SQL 구문 오류 인 경우 오류 코드는 1064입니다.
$ mysqli-> 오류 : errno 와 함께 사용됩니다. $ mysqli-> 오류는 "SQL 구문에 오류가 있습니다"와 같은 특정 오류 메시지를 반환합니다.
위의 방법을 통해 API에 대한 자세한 오류 정보 및 상태 코드를 제공 할 수 있습니다. 오류 처리 기능은 데이터베이스 오류를 정확하게 포착하는 데 반영 될뿐만 아니라 다음과 같은 측면을 포함합니다.
통합 오류 형식 : API의 통합 오류 응답 형식을 사용하여 프론트 엔드 개발자가 오류 유형을 처리하도록 용이하게합니다. 예를 들어, 모든 오류 응답에는 상태 , 코드 및 메시지 필드가 포함되어야합니다.
다른 오류 코드 처리 : MySQLI :: $ errno 가 반환 한 오류 번호에 따라 API는 다른 응답 상태 코드를 제공 할 수 있습니다. 예를 들어, 데이터베이스 연결이 실패하면 상태 코드가 500을 반환 할 수 있습니다. 사용자 입력 오류가 발생하면 400의 상태 코드를 반환 할 수 있습니다.
로깅 : 나중에 오류 문제 해결 및 시스템 최적화를 위해 API 서버 측의 자세한 오류 로그를 기록합니다. PHP의 error_log () 함수를 사용하여 로그 파일에 오류 정보를 출력 할 수 있습니다.
사용자 친화적 인 오류 메시지 : 최종 사용자에게 내부 오류를 노출하지 않으려면 데이터베이스의 특정 오류 세부 정보를 표시하지 않고 사용자 친화적 인 프롬프트를 제공하는 것과 같이 API 오류 메시지를 적절하게 처리해야합니다.
mysqli :: $ errno를 통해 데이터베이스 오류 상태 코드를 얻은 후 일반 오류 코드에 따라 다른 오류 메시지를 반환 할 수 있습니다.
1045- 인증 실패 <br> MySQL 사용자 인증이 실패하면 $ mysqli-> errno는 1045를 반환하여 인증 실패 오류 메시지를 반환 할 수 있습니다.
1064 -SQL 구문 오류 <br> SQL 문에 구문 오류가 있으면 $ mysqli-> errno는 1064를 반환하고 프론트 엔드는 사용자에게 입력 한 SQL을 확인하도록 프롬프트 할 수 있습니다.
2002- 연결 시간 초과 <br> 데이터베이스 연결이 시간이 초과되면 $ mysqli-> errno는 2002 년을 반환하여 프론트 엔드 사용자가 네트워크 또는 데이터베이스 서비스가 정상인지 확인하도록 자극 할 수 있습니다.
PHP에서 mysqli :: $ errno 함수를 사용하면 개발자가 데이터베이스 오류를 정확하게 캡처하고 처리 할 수 있습니다. 정확한 오류 처리는 인터페이스의 신뢰성을 향상시킬뿐만 아니라 사용자 경험을 효과적으로 향상시키기 때문에 RESTFUL API의 개발에 중요합니다. 우수한 오류 처리 메커니즘에는 통합 오류 응답 형식, 자세한 오류 정보, 로깅 및 특정 오류 코드에 대한 처리 방법이 포함됩니다.
수평 분배기
관련 태그:
API