2012-10-15 3 views
0

PDO 쿼리의 결과를 가져 오려고하면 오류가 발생합니다. 열의 내용까지 좁혔지만, 왜이 문제의 원인인지 또는이를 해결하는 방법을 모르겠습니다. 오류 로그에는 아무 것도 없으므로 일반적인 PHP 오류는 아닙니다. 사실, PHP가 모두 망가져 버린 것 같습니다. 문제가 무엇인지에 대한 아이디어가 있습니까?PDO 가져 오기로 인해 500 개의 내부 오류가 발생합니다.

참고 : DB 변수는 ODBC에 대한 PDO 연결입니다. (MSSQL에 갈 예정)

$query = $Z->DB->query("SELECT TOP 1 id, ticket, typeid, issued, comment, privatecomment FROM Handheld_IncomingTickets WHERE processed is null ORDER BY issued asc"); 
// No error. 
if (!$query->execute()) { 
    $moreData = false; 
    echo dump($query->errorInfo()) ." ".__FILE__." at Line: ".__LINE__; 
    break; 
} 
// No error. 
$record = $query->fetch(PDO::FETCH_ASSOC); 
// ERROR! 

이것은 500 오류를 일으키는 레코드 중 하나의 주석 열의 내용입니다. 이것은 테스트 데이터 일 뿐이며, 주석 열은 프로덕션에서 $ _POST 변수의 덤프를 가지지 않지만 중요한 이유는 혼동 스럽습니다. 나는 이처럼 보이는 모든 가치를 제거 할 수는 있지만 문제의 원인을 찾지 못한다면 유효한 데이터로는 다시는 발생하지 않을 것이라고 확신 할 수 없습니다.

array ( 'act' => 'push', 'ticket' => '35-0191', 'ticket_int' => '191', 'vehicleid' => 'null', 'plate' => '028RLS', 'platetypeid' => 'null', 'provid' => '9', 'makeid' => '1', 'typeid' => '1', 'colourid' => '1', 'year' => 'null', 'locationid' => 'null', 'permitno' => 'null', 'sempermitid' => 'null', 'tickettype' => 'null', 'issued' => '2012-10-02%2013%3A22%3A31', 'violationtypeid' => 'null', 'writer' => '17', 'fine' => 'null', 'towing' => '', 'comment' => '', 'privatecomment' => '', 'synced' => 'null',) 

이것은 서버의 이벤트 로그에 표시되는 오류입니다.

Faulting application name: php-cgi.exe, version: 5.3.12.0, time stamp: 0x4fa94d46 
Faulting module name: php5.dll, version: 5.3.12.0, time stamp: 0x4fa94db5 
Exception code: 0xc0000005 
Fault offset: 0x0000c3b6 
Faulting process id: 0x2a0 
Faulting application start time: 0x01cdaadbbdc7fb98 
Faulting application path: C:\Program Files (x86)\PHP\v5.3\php-cgi.exe 
Faulting module path: C:\Program Files (x86)\PHP\v5.3\php5.dll 
Report Id: fbc37d92-16ce-11e2-9dcf-ca21ba90502f 
+0

다른 스크립팅 언어를 사용하여 데이터를 올바르게 검색 할 수 있습니다. 나는 또한 SQL 서버에서 직접 질의 할 수 있으며, 결과는 잘 처리된다. – Recognizer

+0

다른 컴퓨터 또는 특정 서버에서만 재현 가능합니까? 설치에 나쁜 라이브러리가있을 수 있습니까? – deceze

+3

PHP 5.3.12에 오류가있는 것으로 알려져 있습니다. 현재 버그 수정 릴리즈는 PHP 5.3.17입니다. 나는 적어도 그 새로운 버전에 대해서도 테스트 할 것이다. – hakre

답변

0

.17 트릭을 수행했습니다. 마이크로 소프트의 웹 인스톨러를 통해 구할 수있는 버전이 뒤쳐져 있으며 php.net에서 최신 버전을 설치할 생각이 없습니다. 감사.

+1 to hakre

관련 문제