2012-11-14 2 views
5

이 PDO MySQL의 오류에 대한 자세한 정보를 얻을 수 있습니다.방법은 다음과 같이 내가 업데이트 문을 실행 내 PHP 스크립트에서 젠드

문제는 업데이트가 실패하고 오류에 대한 자세한 정보를 얻을 수없는 것입니다.

오류는 try/catch 블록 내에서 발생합니다. 내가 오류를 잡을 때, 나는 실행

$db->getProfiler()->getLastQueryProfile(); 

그리고 출력은 다음과 같습니다

2012-11-14T22:20:02+11:00 INFO (6): Zend_Db_Profiler_Query Object 
(
    [_query:protected] => begin 
    [_queryType:protected] => 64 
    [_startedMicrotime:protected] => 1352892002.6064 
    [_endedMicrotime:protected] => 1352892002.6066 
    [_boundParams:protected] => Array 
     (
     ) 

내가 그것을 매개 변수가 결합되지 말한다 알고,하지만 난 정말 그런 경우가 생각하지 않습니다. 어떻게 든 '마지막 질의'는 내가 생각하는 것과 다르다고 나는 생각한다.

$db->getConnection()->errorInfo(); 

을 그리고 출력은 다음과 같습니다 :

두 번째로 내가 오류를 잡을 때, 나는 또한 실행

2012-11-14T22:20:02+11:00 INFO (6): Array 
(
    [0] => 00000 
    [1] => 
    [2] => 
) 

는 분명히 이것은 매우 도움이되지 않습니다.

아이디어가 있으십니까? 오류에 대한 자세한 정보를 얻으려면 어떻게해야합니까?

감사합니다. 당신은 모든 정보와 예외를 던질 PDO를 강제 ​​할 수

답변

1

:

<?php 

$this->_db->->getConnection()->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 


try { 
    $this->_db->update('names', $data, $this->_db->quoteInto('id = ?', $obj->id)); 
} 
catch (Exception $ex) { 
    print_r($ex); 
} 
+0

니스 하나의 이반, 감사합니다. –