我有一个非常奇怪的问题。
我正在向服务器发送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();
}
答案 0 :(得分:1)
默认情况下,PDO使用无缓冲模式,这会导致页面加载时间延迟降低,这通常是您想要的。权衡是rowCount()在获取整个数据集之前不会返回有效信息。