2014-07-14 2 views
-2

가능한 한 많은 형식의 코드를 제공하기 위해이 질문을했습니다. 일반적으로PHP에서 DB 연결 오류를 확인해야 할 필요성

나는 내가 좋아 만들 때마다 준비된 명령문에 대한 데이터베이스 연결 오류 확인 :

if ($stmt = $mysqli->prepare("...random SQL code here...") { 
    //bind_param, executes, store_results, etc. here 
} else {$err = "Database error";} 

그러나 나는이 실행에 데이터베이스 오류를 확인하지 않습니다. 내가해야 할까?

큰 프로젝트의 성능이 좋지 않은 이유는 유용한 오류 코드를 던지면서 더 나은 디버깅을 해결할 수 있기 때문입니다. 아니면 내가 그 수표에 대해 잊어 버리고 mysql/php/apache 로그에 의존해야합니까?

나를 도와 주셔서 감사합니다.

답변

0

예, 연결 유효성을 테스트해야하며 스크립트의 성능에는 영향을주지 않습니다. 이러한 연결 명령에 대한 PHP 설명서는 거의 항상 yoou 방법을 보여줍니다.

http://php.net/manual/en/mysqli.construct.php

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db'); 

/* 
* This is the "official" OO way to do it, 
* BUT $connect_error was broken until PHP 5.2.9 and 5.3.0. 
*/ 
if ($mysqli->connect_error) { 
    die('Connect Error (' . $mysqli->connect_errno . ') ' 
     .$mysqli->connect_error); 
} 
+0

참조 그럼 난 같은 마음에 뭔가 더 있었다 : 내가 약간의 오차가 밖으로 던지거나 더 이상 작동하지 않는 일부 querys를 만들어 파란색 내 데이터베이스의 아웃. 그렇다면 내가 수천 라인 전에 $ mysqli-> connect_error (...)를했는지 아니면? – Kris

+0

연결 후 및 쿼리 중에 문제가 발생하면 실행 호출이 유효한 결과를 반환하지 않습니다. 이미 확인 했잖아. 그 이외에, PHP 애플 리케이션의 전체 실행은 일반적으로 밀리 초 걸립니다. 따라서 연결은 항상 db가 손상된 첫 번째 문제가 될 것입니다. – ToBe