2014-06-24 2 views
0

PDO가있는 DB에 연결하려고합니다. 나는 오늘 일찍이 이것을 할 수 있었지만, 이제는 잘못된 자격 증명을 입력 할 때 오류가 발생하기 때문에 작동하는지 잘 모르겠습니다. 내 코드는 다음과 같습니다PDO 연결 오류 표시하지 않음

다른 스크립트를 실행할 때 제대로 작동합니다. 누구든지 오류를 볼 수 있습니까? 또한 이것은 내 dev 도구를 실행할 때 볼 수 있습니다. 이 은 위 코드에서 발생합니다. 당신이 exceptions을 던져하려면

enter image description here

답변

3

기본 설정은 display_errors입니다. 치명적인 오류가 발생했습니다. 코드가 실행되지 않아 display_errors이 변경되지 않았으므로 오류 메시지가 표시되지 않습니다. 오류를 표시하도록 ini 설정을 변경할 수 있습니다.

또는 더 나은 - ide를 사용하여 오류 강조 표시를하십시오.

코드를 다시 작성해야합니다.

try{ 
    $con = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); // change order 
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // change to exception, remove pdo-> 
} 
catch(PDOException $e){ 
    echo $e->getMessage(); // <- fixed 
} 
0

은, 당신은 그렇게 이야기 할 수 있도록해야합니다.

$con->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

또한 모두 활성화하려면 error_reporting(-1)을 설정하십시오.

catch(PDOException $e){ 
    echo $e->getMessage(); 
} 
+0

방금 ​​고쳤습니다. 그리고 여전히 같은 문제입니다. –