0

今日は初めて PDO を使いました。そして、PDO で 'INSERT' を実行しようとしても、何もしません。

これは私のコードです:

session_start();
if($_GET['feedback']!="")
{
    $fb = $_GET['feedback'];

    $date = date('Y-m-d H:i:s');
    $query = "INSERT INTO feedback(number, sender, content, date) VALUES (NULL,?,?,?)";
    $STH = $DBH->prepare($query);
    $STH->bindParam(1, $_SESSION['alias']);
    $STH->bindParam(2, $fb);
    $STH->bindParam(3, $date);
    $STH->execute();
}

PDO で 'SELECT' クエリを試してみましたが、うまくいきました。私は何をすべきか?

4

2 に答える 2

2

例外を取得するために、コードを try および catch ブロックで囲みませんか。

    try {

           //your code

    } catch( PDOEXception $e ) {


           echo $e->getMessage(); // display error
           exit();


    }

これにより、何がうまくいかないかの手がかりが得られるはずです。

于 2013-03-03T15:31:38.167 に答える
0

私は何をすべきか?

エラー報告。例については、タグ wiki
を 確認してください。

ERRMODE_EXCEPTION を接続オプションとして設定することが不可欠です。これにより、接続エラー時に PDO が例外をスローできるようになります。ATTR_DEFAULT_FETCH_MODE を設定することも良い考えです。

少なくとも try..catch 演算子を使用しない限り、接続エラーはキャッチされるべきではないことに注意してください。カスタム例外ハンドラを使用できますが、必須ではありません。特に新規ユーザーの場合、未処理の例外があっても問題ありません。例外は非常に有益で役立つからです。

于 2013-03-03T15:12:37.627 に答える