国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

MySQL ステートメントに PHP 変數(shù)を含める方法
P粉595605759
P粉595605759 2023-09-16 21:28:26
0
2
699

目次に値を挿入しようとしています。 VALUES に PHP 変數(shù)がない場(chǎng)合は正常に動(dòng)作します。ただし、変數(shù) $typeVALUES に入れると、機(jī)能しません。私が何を間違えたのでしょうか?

ああああ

P粉595605759
P粉595605759

全員に返信(2)
P粉239089443

SQL インジェクションを回避するには、挿入ステートメントは次のようになります:

リーリー
P粉036800074

MySQL ステートメントに PHP 変數(shù)を追加するためのルールはシンプルで簡(jiǎn)単です:

1.準(zhǔn)備されたステートメントを使用する

このルールはクエリの 99% に適用され、クエリにも適用されます。 SQL データ リテラル (または単純に SQL 文字列または數(shù)値) を表す変數(shù)は、準(zhǔn)備されたステートメントを介して追加する必要があります。例外なく。

この方法は 4 つの基本的なステップで構(gòu)成されます:

  • SQL ステートメントで、すべての変數(shù) プレースホルダー
  • に置き換えます。
  • 取得したクエリを準(zhǔn)備します
  • 変數(shù)をプレースホルダーにバインドする
  • クエリの実行
一般的なすべての PHP データベース ドライバーでこれを?qū)g現(xiàn)する方法は次のとおりです:

使用
mysqliデータリテラルを追加
現(xiàn)在の PHP バージョンでは、1 回の呼び出しで準(zhǔn)備/バインド/実行が可能です:

リーリー

古いバージョンの PHP を使用している場(chǎng)合は、明示的に準(zhǔn)備/バインド/実行を行う必要があります:

リーリー

このコードは少し複雑ですが、これらすべての演算子の詳細(xì)な説明は、私の記事

Mysqli を使用して INSERT クエリを?qū)g行する方法 と、プロセスを大幅に簡(jiǎn)素化できるソリューションを參照してください。 。

SELECT クエリの場(chǎng)合は、上記と同じ方法を使用できます:

リーリー

ただし、古いバージョンの PHP を使用している場(chǎng)合は、準(zhǔn)備/バインド/実行ルーチンを?qū)g行し、使い慣れた

を取得するために get_result() メソッドも呼び出す必要があります。 mysqli_result から、通常の方法でデータを抽出できます: リーリー

PDO を使用してデータ リテラルを追加する
リーリー
PDO では、バインディング部分と実行部分を一緒にマージすることができ、非常に便利です。 PDO は名前付きプレースホルダーもサポートしており、これが非常に便利だと考える人もいます。

2. ホワイトリスト フィルタリングを使用する

SQL キーワード、テーブルまたはフィールド名、演算子などの他のクエリ部分は、

ホワイトリスト を通じてフィルター処理する必要があります。

キーワードや識(shí)別子 (データベース、テーブル、フィールド名) など、クエリの別の部分を表す変數(shù)を追加する必要がある場(chǎng)合があります。これはまれな狀況ですが、備えておくことが最善です。

この場(chǎng)合、変數(shù)は、スクリプトに記述された値のリスト

明示的に と照合する必要があります。これについては、私の他の記事ユーザーの選択に基づいて ORDER BY 句にフィールド名を追加する:で詳しく説明しています。

これは例です:

リーリー リーリー

このようなコードの後、

$direction 変數(shù)と $orderby 変數(shù)は、許可されたバリアントの 1 つと等しいか、または次のいずれかになるため、SQL クエリに安全に挿入できます。 throw エラーが発生しました。

最後に言及すべきことは、識(shí)別子も特定のデータベース構(gòu)文に従ってフォーマットする必要があるということです。 MySQL の場(chǎng)合、識(shí)別子は

backtick 文字で囲む必要があります。したがって、ORDER BY 例の最終的なクエリ文字列は次のようになります。 リーリー

最新のダウンロード
詳細(xì)>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート