PDO在查询后返回500错误(查询确实有效)

时间:2012-11-24 18:51:38

标签: php mysql pdo

我有一个非常奇怪的问题。

我正在向服务器发送ajax调用,将表单详细信息发送到php脚本。使用PDO i然后将值插入数据库。 Firebug返回500错误,但值INSERTEDED进入数据库。我在错误日志中找不到任何东西(我查看了apache错误日志和mysql错误日志)

我正在运行centos 6,php 5.3.3和mysql 5.1。

我查看了php sysinfo,并在apache config中看到了这个:

' - 禁用-PDO'

不确定这与它有什么关系,但是嘿..

以下是我正在使用的代码:

try {
    $conn = new PDO('mysql:dbname=dbname;host=localhost', 'username', 'password');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $query = $conn->prepare('INSERT INTO sometable (naam, beroep, telefoon, emailadres, bericht, ismedical) 
        VALUES(:naam, :beroep, :telefoon, :emailadres, :bericht, :ismedical)');
    $query->execute(array(
        ':naam' => $naam,
        ':beroep' => $beroep,
        ':telefoon' => $telefoon,
        ':emailadres' => $emailadres,
        ':bericht' => $bericht,
        ':ismedical' => $ismedical
    ));
    echo $stmt->rowCount(); // should be 1
} catch (PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}

1 个答案:

答案 0 :(得分:1)

默认情况下,PDO使用无缓冲模式,这会导致页面加载时间延迟降低,这通常是您想要的。权衡是rowCount()在获取整个数据集之前不会返回有效信息。