簡単な質問 - 私はWordpressの中でこの種のクエリを実行する場合はことを理解し実行します。Wordpressで準備されたクエリを実行する必要がありますか?
SELECT * FROM tableA WHERE variable1 = $var1
...その後、私はそうのように、「準備」を使用する必要があります。
$my_query = $wpdb->get_results($wpdb->prepare("SELECT * FROM tableA
WHERE variable1 = %s", $var1));
しかし、私が代わりにクエリのこのタイプをしたいとき:
- は、列
- とNOT変数を使用して上の2つのテーブルを結合します このような
:
SELECT * FROM tableA, tableB WHERE tableA.some_col = tableB.some_other_col
... I 'べきです':
- は依然としてSQLインジェクション
かであるから保護するために文を '準備' のいくつかのフォームを使用します次のようにしてください。
$my_query = $wpdb->get_results("SELECT * FROM tableA, tableB WHERE tableB.some_col = tableB.some_other_col");
をこれについての議論を見つけます。 – WillardSolutions
これはセキュリティ上の問題以上のコードスタイルの問題になります。以下の答えが示すように、あなたはそれを必要としませんが、それを一貫して使うにはいくつかのコードスタイルの利点があるかもしれません。私が渡しているパラメータを持っているときは個人的に、私は '$ wpdb-> prepare()'を使いますが、これはコードスタイルの決定です。 –