あなたの質問に対する簡単な答えはありません。実際にこれを行う簡単な方法はすべて、アプリケーションが作成されたときとは異なる方法で行う必要があるからです。
コード全体で mysql_* 関数への直接呼び出しがあり、ヘルパー クラスまたは関数を介してクエリを実行するデータベース抽象化レイヤーがない場合は、すべてのコマンドを編集する必要があります。
mysql_query のようなコマンドに i を追加するだけではうまくいきませんmysqli_query()
。最初のパラメーターが db へのリンクであることが手続き的に必要でありmysql_query()
、接続が与えられた場合、それは 2 番目のパラメーターでした。
単に mysql_query(...) を mysqli_query($link,.....) に変更する代わりに、db 抽象化レイヤーを配置するのにこれ以上の時期はないことをお勧めします。したがって、実際にクエリを処理する sql_query() などの関数を使用してください。将来、DB を再度変更する必要がある場合は、1 つの抽象化ファイルで db 固有のコマンドを更新するだけで済みます。そうすれば、mysqli_query をラップする関数を作成する場合、単純に mysql_query() の名前をヘルパー関数に変更して、ヘルパー関数にリンクの配置を心配させることができます。
これが最も簡単な方法ですが、SQL インジェクションの脆弱性を防ぐ主な要因であるパラメーターをバインドしたり、ステートメントを準備したりしません。
これらすべてのコマンドを変更したら、テストする必要があります。
自動化されたテストを作成していない場合は、おそらくこれが作成を開始するのに適した時期です。すべての変更が機能していることを確認する必要がありますが、自動化されたテストでそれを行うと、将来その苦痛を避けることができます.