我有一个非常奇怪的问题。
我正在对服务器进行 ajax 调用,将表单详细信息发送到 php 脚本。然后使用 PDO 我将值插入数据库。 Firebug 返回 500 错误,但值已插入到数据库中。我在错误日志中找不到任何内容(我查看了 apache 错误日志和 mysql 错误日志)
我正在运行 centos 6、php 5.3.3 和 mysql 5.1。
我查看了 php 系统信息并在 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();
}
最佳答案
默认情况下,PDO 使用无缓冲模式,这会导致页面加载时间的延迟降低,这通常是您想要的。代价是 rowCount() 在获取整个数据集之前不会返回有效信息。
关于php - PDO 查询后返回 500 错误(查询确实有效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13544430/