현재 위치: > 최신 기사 목록> mysqli_stmt :: 준비의 mysql 오류 코드를 얻는 방법?

mysqli_stmt :: 준비의 mysql 오류 코드를 얻는 방법?

gitbox 2025-06-07

데이터베이스 작업에 PHP의 MySQLI Extension을 사용할 때 MySQLI_STMT :: 준비는 SQL 문을 전처리하는 데 중요한 방법입니다. 전처리 명세서는 보안 및 효율성을 향상시킬 수 있지만, SQL 문에 오류가 있으면 준비 를 실행하는 과정에서 특정 MySQL 오류 코드를 얻는 방법을 이해하는 것은 디버깅에 매우 중요합니다. 이 기사는 MySQLI_STMT :: 준비가 실행되고 관련 단계가 실행될 때 생성 된 MySQL 오류 코드를 얻는 방법을 자세히 소개합니다.


1. mysqli_stmt :: 준비를 이해하십시오

MySQLI_STMT :: 준비 방법은 SQL 문을 전처리하는 데 사용됩니다. 전처리가 성공했는지 여부를 나타내는 부울 값을 반환합니다. 실패하면 관련 속성 또는 메소드를 통해 오류 정보 및 오류 코드를 얻을 수 있습니다.

 $stmt = $mysqli->stmt_init();
if (!$stmt->prepare("YOUR SQL HERE")) {
    // 전처리가 실패했습니다
}

2. 오류 코드의 속성과 방법을 가져옵니다

MySQLI_STMT 객체는 오류 정보를 얻기 위해 두 개의 주요 멤버를 제공합니다.

  • $ stmt-> errno : 오류 코드 가져 오기 (오류 번호)

  • $ stmt-> 오류 : 오류 메시지를 가져옵니다

또한 Object $ MySQLI를 연결하여 전역 오류 코드 및 정보를 얻을 수도 있습니다.


3. 특정 단계 샘플 코드

아래는 전화를 걸고 오류 코드와 오류 메시지가 실패 할 때 오류 코드를 얻는 방법을 보여주는 샘플 코드입니다.

 <?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");

// 연결이 성공했는지 확인하십시오
if ($mysqli->connect_errno) {
    die("연결이 실패했습니다,오류 코드: " . $mysqli->connect_errno . ",오류 메시지: " . $mysqli->connect_error);
}

// 전처리 명령문 객체를 초기화하십시오
$stmt = $mysqli->stmt_init();

// 전처리 SQL 성명(오류를 유발하기 위해 여기에 불법적으로 작성하십시오)
$sql = "SELEC * FROM users"; // 잘못된 SQL,SELECT 오류 철자

if (!$stmt->prepare($sql)) {
    echo "전처리가 실패했습니다!" . PHP_EOL;
    echo "오류 코드: " . $stmt->errno . PHP_EOL;
    echo "오류 메시지: " . $stmt->error . PHP_EOL;
} else {
    echo "전처리成功!" . PHP_EOL;
}

$stmt->close();
$mysqli->close();
?>

4. 설명

  • 위의 코드에서 Select는 의도적으로 SELEC 으로 철자가되고 준비 메소드는 False를 반환합니다.

  • $ stmt-> errno$ stmt-> 오류를 통해 자세한 오류 코드 및 오류 설명을 얻으십시오.

  • 연결이 실패하면 $ mysqli-> connect_errno$ mysqli-> connect_error를 사용하여 오류 정보를 얻으십시오.


5. 요약

MySQLI_STMT :: 준비 중에 MySQL 오류 코드를 생성하는 것은 주로 MySQLI_STMT 객체의 errno 속성에 따라 다릅니다. 오류 속성과 결합하여 문제를 신속하게 찾아 디버깅을 용이하게 할 수 있습니다. 준비하려면 각 호출 후 반환 값을 감지하고 실패하자마자 오류 코드 및 오류 정보를 읽는 것이 좋습니다.