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
我可以使用其他脚本语言来检索数据的罚款。我也可以直接在sql服务器上查询,结果很好。 – Recognizer
这是可重现的在其他机器上,或只在一台特定的服务器上?可能是该安装中的坏图书馆? – deceze
PHP 5.3.12已知有错误。目前它的bugfix版本是PHP 5.3.17。我至少会测试这个新版本。 – hakre