非推奨の mysql_* 関数によるレガシー PHP コードの書き換え
お気づきのとおり、PHP の mysql_* 関数はセキュリティ上の理由から非推奨になりました。そして安定性への懸念。コードを効果的に書き直すには、次のガイドラインを考慮してください。
1. PDO またはプリペアド ステートメントに切り替える:
セキュリティを向上させ、SQL インジェクションの脆弱性を回避するには、mysql_* 関数を PDO またはプリペアド ステートメントに置き換えます。
2.データベース接続の再構成:
データベース接続は、個別のパラメーターではなく接続文字列を使用して確立する必要があります。例:
<code class="php">$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>
3.不要なコンストラクターとデストラクターを削除します:
__construct や __destruct などの関数は PDO では必要なくなりました。 PDO はデータベース接続とクリーンアップを内部で処理します。
4.簡略化されたデータベース選択:
PDO でデータベースを選択するには、exec メソッドを使用します:
<code class="php">$db->exec("USE " . $database);</code>
5。データベース クラス拡張を検討してください:
必要に応じて、PDO から拡張して、カスタム機能を備えた独自のデータベース クラスを作成できます。
リライト例:
元のスクリプトは、PDO を使用して次のように書き換えることができます:
<code class="php">class dbConn extends PDO { public function connect() { try { parent::__construct('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass'); } catch (PDOException $e) { die('Database connection failed: ' . $e->getMessage()); } } public function selectDb($database) { $this->exec("USE " . $database); $this->query("SET NAMES 'utf8'"); } }</code>
PDO またはプリペアド ステートメントに切り替えると、セキュリティが強化されるだけでなく、コードのメンテナンスが簡素化され、パフォーマンスも向上することに注意してください。
以上が非推奨の「mysql_*」関数を使用してレガシー PHP コードを書き直すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。