복붙노트

다른 환경에서 MySQLi 오류 정보를 얻는 방법

PHP

다른 환경에서 MySQLi 오류 정보를 얻는 방법

내 로컬 / 개발 환경에서 MySQLi 쿼리가 정상적으로 수행되고 있습니다. 그러나, 내 웹 호스트 환경에서 업로드 할 때이 오류가 발생합니다.

다음은 코드입니다.

global $mysqli;
$stmt = $mysqli->prepare("SELECT id, description FROM tbl_page_answer_category WHERE cur_own_id = ?");
$stmt->bind_param('i', $cur_id);
$stmt->execute();
$stmt->bind_result($uid, $desc);

내 쿼리를 확인하기 위해 제어판 phpMyAdmin을 통해 쿼리를 실행하려고했는데 결과가 정상입니다.

해결법

  1. ==============================

    1.

    우선 MySQLi가 모든 환경에 연결하기 전에 항상 다음 행을 가지고 있어야합니다.

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    

    그 후에 모든 MySQL 오류가 PHP 예외로 전송됩니다. 캐치되지 않는 예외는 PHP를 치명적인 오류로 만듭니다. 따라서 MySQL 오류가 발생하면 기존 PHP 오류가 발생합니다. 그러면 즉시 오류 원인을 알 수 있습니다. 스택 추적은 오류가 발생한 정확한 지점으로 안내합니다.

    PHP 오류를 일반적으로 볼 수 있어야합니다. 그리고 여기에 실제로 다른 환경의 문제가 있습니다 :

    그리고 당신이해서는 안되는 것에 대한 작은 목록 :

  2. from https://stackoverflow.com/questions/22662488/how-to-get-mysqli-error-information-in-different-environments by cc-by-sa and MIT lisence