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

PDOパラメータの配列を渡しながら、それらのタイプを指定するにはどうすればよいですか?

    PDO::ATTR_EMULATE_PREPARESのデフォルト設定をオフにした場合 、それからそれは動作します。 mysqlの設定はデフォルトでオンになっていることがわかりました。つまり、プリペアドステートメントを実際に使用することはありません。phpは内部で動的SQLを作成し、値を引用してプレースホルダーを置き換えます。ああ、主要なwtf。

    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    $stmt = $pdo->prepare($sql);
    $stmt->execute(array(5)); //works!
    

    パフォーマンス上の理由から、準備はデフォルトでエミュレートされます。

    PDO MySQL:も参照してください。 PDO ::ATTR_EMULATE_PREPARESを使用するかどうか?



    1. mysql_insert_id()が正しい値を返すことを信頼できますか、マルチスレッドパラノイア

    2. SQL Serverデータベース変更リスナーC#

    3. JSON_VALID()–MySQLで有効なJSONをテストする

    4. MySQLデータベースで同時クエリはどのように処理されますか?