sql >> データベース >  >> RDS >> Mysql

PDOデバッグ-バインド後にクエリを表示しますか?

    これは、SQLデバッグに関する最も一般的な神話です。 「エラーが発生したかどうかを判断するには、準備後にクエリを確認する必要があります」。事実は、あなたはしません 、理由をお話しします。

    クエリが準備されると、プレースホルダーは有効な文字列/整数と見なすことができます。 。何が入っていてもかまいません。

    また、PDOを正しく設定すると、詳細なPDOExceptionが表示されます。 発生したエラーの詳細と、エラーが発生した場所の完全なバックトレースに加えて、MySQLからエラー文字列を取得するため、構文エラーを非常に簡単に見つけることができます。

    PDO例外を有効にし、エミュレートされた準備を無効にするには:

    $pdo = new PDO("mysql:host=localhost;dbname=database_name", "user", "password");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    



    1. INNERJOIN同じテーブル

    2. current_timeがPostgreSQLでどのように機能するか

    3. MySQLデータベースを新しいサーバーに移動します

    4. PostgreSQLのAVG()関数