라이브러리

[PHP] mysqli_stmt::$sqlstate - 이전 명령문 작업에서 SQLSTATE 오류를 반환합니다.




mysqli_stmt::$sqlstate

`mysqli_stmt::$sqlstate`는 MySQLi 확장 함수의 결과로 반환되는 SQL 상태 코드입니다. 이 코드는 MySQL 서버에서 발생한 오류나 상태를 나타냅니다.

SQL 상태 코드

SQL 상태 코드는 MySQL 서버에서 발생한 오류나 상태를 나타내는 코드입니다. 이 코드는 다음과 같은 형식으로 구성됩니다.

- `00000` : 성공
- `01XXXX` : 오류
- `02XXXX` : 경고
- `HYXXXX` : MySQL 서버에서 발생한 오류
- `IMXXXX` : MySQL 서버에서 발생한 오류
- `ERXXXX` : MySQL 서버에서 발생한 오류
- `CRXXXX` : MySQL 서버에서 발생한 오류
- `FXXXXX` : MySQL 서버에서 발생한 오류
- `XXYYYY` : MySQL 서버에서 발생한 오류

예제

다음 예제는 `mysqli_stmt::$sqlstate`를 사용하여 MySQL 서버에서 발생한 오류를 확인하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php

// MySQL 서버 연결

$mysqli = new mysqli("localhost", "root", "password", "mydb");



// 쿼리 실행

$stmt = $mysqli->prepare("SELECT * FROM non_existent_table");

$stmt->execute();



// 오류 확인

if ($stmt->errno) {

    echo "오류 발생: " . $stmt->error . "
";

    echo "SQL 상태 코드: " . $stmt->sqlstate . "
";

} else {

    echo "쿼리 실행 성공
";

}



// 쿼리 실행

$stmt = $mysqli->prepare("SELECT * FROM users");

$stmt->execute();



// 결과 확인

$result = $stmt->get_result();

while ($row = $result->fetch_assoc()) {

    echo $row["id"] . "	" . $row["name"] . "
";

}



// MySQL 서버 연결 종료

$mysqli->close();

?>



이 예제에서는 `mysqli_stmt::$sqlstate`를 사용하여 MySQL 서버에서 발생한 오류를 확인합니다. 첫 번째 쿼리는 존재하지 않는 테이블을 선택하므로 오류가 발생합니다. 두 번째 쿼리는 존재하는 테이블을 선택하므로 성공합니다.

결과

#hostingforum.kr


오류 발생: Table 'mydb.non_existent_table' doesn't exist

SQL 상태 코드: 42S02

쿼리 실행 성공

1 John

2 Jane

3 Bob



이 예제에서 `42S02`는 MySQL 서버에서 발생한 오류 코드입니다. 이 코드는 "Table does not exist"를 나타냅니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 377 페이지

검색

게시물 검색