2

私は本当に奇妙な問題を抱えています。

サーバーにajax呼び出しを行って、フォームの詳細をphpスクリプトに送信しています。次に、PDO iを使用して、値をデータベースに挿入します。Firebugは500エラーを返しますが、値はデータベースに挿入されています。エラーログに何も見つかりません(apacheエラーログとmysqlエラーログを調べました)

私はcentos6、php 5.3.3、mysql5.1を実行しています。

私はphpsysinfoを調べて、apacheconfigでこれを見ました。

'--disable-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 に答える