2

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

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

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

我查看了 php sysinfo 并在 apache 配置中看到了这一点:

'--禁用-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();
}
4

1 回答 1

1

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

于 2012-11-24T19:28:46.420 回答