2012-10-15 155 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已知有錯誤。目前它的bugfix版本是PHP 5.3.17。我至少會測試這個新版本。 – hakre

回答

0

.17有竅門。通過微軟的Web安裝程序提供的版本落後了,我不認爲要從php.net安裝最新版本。謝謝。

+1到hakre