0

当我尝试获取 PDO 查询的结果时出现错误。我已将其范围缩小到该列的内容,但我不确定它为什么会导致此问题,或者如何解决此问题。这不是典型的 PHP 错误,因为错误日志中没有任何内容。事实上,我认为它完全使 PHP 崩溃。关于问题是什么的任何想法?

注意: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
4

1 回答 1

0

.17 成功了。通过 Microsoft 的 Web 安装程序提供的版本落后了,我没想到要从 php.net 安装最新版本。谢谢。

+1 哈克雷

于 2012-10-15T14:34:17.647 回答