ホームページ > データベース > mysql チュートリアル > PDO と準備されたステートメントを使用してレガシー MySQL-PHP コードを最新化するにはどうすればよいですか?

PDO と準備されたステートメントを使用してレガシー MySQL-PHP コードを最新化するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-01 01:16:10
オリジナル
243 人が閲覧しました

How Can I Modernize My Legacy MySQL-PHP Code Using PDO and Prepared Statements?

非推奨に伴うレガシー MySQL-PHP コードの書き換え:

PHP 開発の領域では、mysql_* 関数が廃止され、より安全な準備済みステートメントと PDO に置き換えられます。このガイドでは、これらの最新のアプローチを使用してレガシー コードを効果的に書き直す方法について詳しく説明します。

中心概念:

  • PDO: PDO (PHP Data Objects) は、データベース用に改良され標準化されたインターフェイスを提供します操作。
  • プリペアド ステートメント: プリペアド ステートメントは、SQL インジェクション攻撃を防止することでセキュリティを強化します。これらにより、悪意のある入力がデータベースを侵害するリスクを負うことなく、動的なクエリの実行が可能になります。

コードの書き換え:

提供されているサンプル コードを調べてみましょう:

1.接続の構成:

旧:

$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');
ログイン後にコピー

新:

$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
ログイン後にコピー
  • PDO コンストラクターは、接続情報を単一の接続文字列に結合するため、追加の接続が不要になります。設定。

2.データベースの選択:

古い:

public function selectDb($database)
ログイン後にコピー

新しい: N/A

  • PDO明示的なデータベースの選択は必要なくなりました。すべてのデータベース操作は、接続文字列で指定されたデータベースのコンテキスト内で実行されます。

3.コンストラクターとデストラクターの削除:

  • PDO はデフォルトでコンストラクターとデストラクターを提供します。従来のコードに手動で実装されたバージョンは不要になりました。

改訂されたコード:

結果として得られる改訂されたコードには、パブリック関数 connect() のみが保持されます。このメソッドは、PDO コンストラクターを使用してデータベースに接続するように変更する必要があります:

public function connect()
{
    $this->conn = new PDO('mysql:host=' . $this->server . ';dbname=' . $this->db_people . ';charset=UTF-8', $this->user, $this->pass);
}
ログイン後にコピー

追加注:

  • カスタム クラスを使用して PDO の機能を拡張したい場合は、PDO 自体から継承できます。
  • 準備されたステートメントはセキュリティを強化するために重要であり、そうする必要があります。
  • PDO と準備の詳細については、PHP マニュアルを参照してください。

これらのガイドラインに従うことで、従来のコードを効果的に書き直して、最新の PHP 開発慣行に準拠することができます。

以上がPDO と準備されたステートメントを使用してレガシー MySQL-PHP コードを最新化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート