マルチユーザーWebサイトでプリペアドステートメントを使用するにはどうすればよいですか?

ゴム

多くのユーザーがデータベースを操作するWebサイトのどこに(コード内で)プリペアドステートメントの要素を配置しますか?

$mysqli->escape_stringSQLインジェクションから保護するためのより良い方法だと人々が言うので、コードを使用からプリペアドステートメントの使用変換しています

単にすべてを削除し、次$mysqli->escape_stringのようにコードの他の部分を置き換えるだけですか?

$mysqli->query("update `users` set `email`='$newEmail' where `userid`={$_SESSION['userid']} limit 1");

これに置き換えられました:

$stmt = $mysqli->prepare("update `users` set `email`=? where `userid`=? limit 1");
$stmt->bind_param('si',$newEmail,$_SESSION['userid']);
$stmt->execute();
$stmt->close();

ステートメントテンプレートは一度だけ準備され、その後、さまざまなパラメーターで再利用できるため、準備されたステートメントの方が効率的であると言われています。しかし、上記のコード置換では、ユーザーが電子メールアドレスを更新するたびにテンプレートの準備が行われるのではないでしょうか。代わりに、サーバーの起動時にすべてのステートメントを準備する必要がありますか?そして、それらを再び準備しませんか?(私はそれを行う方法がわかりませんが。)どこにpreparebind_paramそしてclose私のウェブサイトのコード全体に配置する必要がありますか?

あなたの常識

すべての$ mysqli-> escape_stringsを削除し、変数をプレースホルダーに置き換えるだけですか?

はい。

ステートメントテンプレートは一度だけ準備され、その後、さまざまなパラメーターで再利用できるため、準備されたステートメントの方が効率的であると言われています。

気にしないで。リクエスト間でプリペアドステートメントを再利用する方法はありません。

これはステートメント変数内でのみ機能するため、単一のPHPインスタンス内でのみ適用できます。繰り返し挿入/更新する場合にのみ使用できることを意味します。そして、そこにさえ、利益は重要なものではありません。

これは、本当に便利な機能というよりは、マーケティングのトリックです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Mac AppStoreのosxアプリケーションにコマンドラインユーティリティをバンドルするにはどうすればよいですか(サンドボックスエンタイトルメントを使用)

分類Dev

トランザクションにプリペアドステートメントを使用するにはどうすればよいですか?

分類Dev

DOステートメントでプリペアドステートメントを使用するにはどうすればよいですか?

分類Dev

マルチアカウントシステムを作成するにはどうすればよいですか?(ユーザー名、パスワードなど)

分類Dev

バッチスクリプトを使用して、ドメイン内のユーザーのブラウザのお気に入り(ブックマーク)にリンクするWebサイトを追加するにはどうすればよいですか?

分類Dev

eコマースWebサイトでユーティリティバーとメインナビゲーションをセマンティックにマークアップするにはどうすればよいですか?

分類Dev

PDOプリペアドステートメントとトラバーサルインターフェイスを使用する場合、fetch_styleを指定するにはどうすればよいですか?

分類Dev

PDOプリペアドステートメントとトラバーサルインターフェイスを使用する場合、fetch_styleを指定するにはどうすればよいですか?

分類Dev

Selenium IDEを使用してサイトにサインアップしようとするときに、別のユーザー名と電子メールアドレスを使用するにはどうすればよいですか?

分類Dev

Webコンポーネントでマテリアルデザインアイコンを使用するにはどうすればよいですか?

分類Dev

Angular個別ユーザーアカウント認証を使用してASP.NETCore Webアプリケーションのログインページをカスタマイズするにはどうすればよいですか?

分類Dev

Angular個別ユーザーアカウント認証を使用してASP.NETCore Webアプリケーションのログインページをカスタマイズするにはどうすればよいですか?

分類Dev

iOSユーザーが自分のWebサイトのhtml入力フィールドを介してドキュメントをアップロードできるようにするにはどうすればよいですか?

分類Dev

プリペアドステートメントで「DEFAULT」と「NULL」をバインドするにはどうすればよいですか?

分類Dev

Firebaseを使用したチャットアプリのテキストメッセージのように、ユーザーがオフラインのときに画像を送信するにはどうすればよいですか?

分類Dev

Wordpressでプリペアドステートメントをクエリの変数とともに使用するにはどうすればよいですか?

分類Dev

ブートストラップおよびブートストラップマテリアルデザインのプレースホルダーフォントサイズを変更するにはどうすればよいですか?

分類Dev

Androidでオートコンプリートを使用してマテリアルデザインチップを入力フィールドに追加するにはどうすればよいですか?

分類Dev

ユーザーがWebページ内にモバイルアプリをインストールしているかどうかを確認するにはどうすればよいですか?

分類Dev

ビューのマテリアルデザイン仕様からアスペクト比を適用するにはどうすればよいですか?

分類Dev

Hibernateクエリでプリペアドステートメントを使用するにはどうすればよいですか?

分類Dev

Hibernateクエリでプリペアドステートメントを使用するにはどうすればよいですか?

分類Dev

Magentoで、core_resourceを使用してプリペアドステートメントを作成するにはどうすればよいですか?

分類Dev

ヘルムチャートテンプレートで現在のユーザーにアクセスするにはどうすればよいですか

分類Dev

iTunes Connectユーザーを招待して、メールなしでアプリをテストするにはどうすればよいですか?

分類Dev

OleDbDataAdapterでプリペアドステートメントを使用するにはどうすればよいですか?

分類Dev

Android sqliteでプリペアドステートメントを使用するにはどうすればよいですか?

分類Dev

Spring JDBCTemplateでプリペアドステートメントを正しく使用するにはどうすればよいですか?

分類Dev

EclipseMarsでマルチウィンドウパースペクティブレイアウトを保存するにはどうすればよいですか

Related 関連記事

  1. 1

    Mac AppStoreのosxアプリケーションにコマンドラインユーティリティをバンドルするにはどうすればよいですか(サンドボックスエンタイトルメントを使用)

  2. 2

    トランザクションにプリペアドステートメントを使用するにはどうすればよいですか?

  3. 3

    DOステートメントでプリペアドステートメントを使用するにはどうすればよいですか?

  4. 4

    マルチアカウントシステムを作成するにはどうすればよいですか?(ユーザー名、パスワードなど)

  5. 5

    バッチスクリプトを使用して、ドメイン内のユーザーのブラウザのお気に入り(ブックマーク)にリンクするWebサイトを追加するにはどうすればよいですか?

  6. 6

    eコマースWebサイトでユーティリティバーとメインナビゲーションをセマンティックにマークアップするにはどうすればよいですか?

  7. 7

    PDOプリペアドステートメントとトラバーサルインターフェイスを使用する場合、fetch_styleを指定するにはどうすればよいですか?

  8. 8

    PDOプリペアドステートメントとトラバーサルインターフェイスを使用する場合、fetch_styleを指定するにはどうすればよいですか?

  9. 9

    Selenium IDEを使用してサイトにサインアップしようとするときに、別のユーザー名と電子メールアドレスを使用するにはどうすればよいですか?

  10. 10

    Webコンポーネントでマテリアルデザインアイコンを使用するにはどうすればよいですか?

  11. 11

    Angular個別ユーザーアカウント認証を使用してASP.NETCore Webアプリケーションのログインページをカスタマイズするにはどうすればよいですか?

  12. 12

    Angular個別ユーザーアカウント認証を使用してASP.NETCore Webアプリケーションのログインページをカスタマイズするにはどうすればよいですか?

  13. 13

    iOSユーザーが自分のWebサイトのhtml入力フィールドを介してドキュメントをアップロードできるようにするにはどうすればよいですか?

  14. 14

    プリペアドステートメントで「DEFAULT」と「NULL」をバインドするにはどうすればよいですか?

  15. 15

    Firebaseを使用したチャットアプリのテキストメッセージのように、ユーザーがオフラインのときに画像を送信するにはどうすればよいですか?

  16. 16

    Wordpressでプリペアドステートメントをクエリの変数とともに使用するにはどうすればよいですか?

  17. 17

    ブートストラップおよびブートストラップマテリアルデザインのプレースホルダーフォントサイズを変更するにはどうすればよいですか?

  18. 18

    Androidでオートコンプリートを使用してマテリアルデザインチップを入力フィールドに追加するにはどうすればよいですか?

  19. 19

    ユーザーがWebページ内にモバイルアプリをインストールしているかどうかを確認するにはどうすればよいですか?

  20. 20

    ビューのマテリアルデザイン仕様からアスペクト比を適用するにはどうすればよいですか?

  21. 21

    Hibernateクエリでプリペアドステートメントを使用するにはどうすればよいですか?

  22. 22

    Hibernateクエリでプリペアドステートメントを使用するにはどうすればよいですか?

  23. 23

    Magentoで、core_resourceを使用してプリペアドステートメントを作成するにはどうすればよいですか?

  24. 24

    ヘルムチャートテンプレートで現在のユーザーにアクセスするにはどうすればよいですか

  25. 25

    iTunes Connectユーザーを招待して、メールなしでアプリをテストするにはどうすればよいですか?

  26. 26

    OleDbDataAdapterでプリペアドステートメントを使用するにはどうすればよいですか?

  27. 27

    Android sqliteでプリペアドステートメントを使用するにはどうすればよいですか?

  28. 28

    Spring JDBCTemplateでプリペアドステートメントを正しく使用するにはどうすればよいですか?

  29. 29

    EclipseMarsでマルチウィンドウパースペクティブレイアウトを保存するにはどうすればよいですか

ホットタグ

アーカイブ