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

バインディング変数とそれらを指定するSQLクエリ

    (すべての変数を手動でフォーマットすることにより)バインドせずにクエリを完全に安全にすることはできますが、プリペアドステートメントを使用してクエリ内のデータを表すことが実際に唯一の適切な方法です。

    プリペアドステートメントを使用することの重要性は誤解されることが多いので、本当のメリットを明確にしたいと思います。

    • プリペアドステートメントにより、適切なフォーマット(または処理)が不可避になります。 。
    • プリペアドステートメントは、唯一の適切な場所で適切なフォーマット(または処理)を行います -クエリ実行の直前で、他の場所ではないので、私たちの安全は、
        のような信頼できないソースに依存しません。
      • データを安全にするのではなく、データを台無しにするPHPの「魔法」機能。
      • プログラムフローのどこかで変数をフォーマットする(またはフォーマットしない)ことを決定できる1人(または複数)のプログラマーの善意。それが非常に重要なポイントです。
    • プリペアドステートメントは、クエリに入力される値そのものに影響しますが、ソース変数には影響しません。ソース変数はそのまま残り、以降のコードで使用できます(メールで送信するか、画面に表示されます)。
    • プリペアドステートメントを使用すると、アプリケーションコードを大幅に短縮でき、すべてのフォーマットをバックグラウンドで実行できます(*ドライバーが許可する場合のみ)。


    1. コマンドラインからLinux上のMySQLデータベースを選択する

    2. WindowsにインストールせずにMySQLを実行/起動する

    3. Oracle Data Mining(ODM)–インストールとセットアップ

    4. MySQLで2つの日付の差を計算する方法