sql >> データベース >  >> RDS >> Mysql

非推奨のmysql_*関数を使用して古いmysql-phpコードを正常に書き換える方法は?

    実は、シンプルで甘くて短い:はい、もう必要ありません。

    何かを失ったということではなく、コードを確認しましょう:

    • __construct -コンストラクターには、すべての構成が含まれているだけです。ここでは、PDOの概念がはるかに簡単で、ほとんどの情報を含む接続文字列があります。

       mysql:host=127.0.0.1;dbname=people;charset=UTF-8
      

      また、PDOは既製のコンストラクターを提供するため、doubleは必要ありません。

    • connect -接続機能も不要になりました。これは、すでにPDOをインスタンス化することによって行われます。例外を探すことができます。PHPマニュアルには、コンストラクターページに があります。 。

    • selectDb -この複雑な機能も不要になりました。うわー、PDO接続文字列のためにドロップできる3番目の関数。非常に少ない文字で多くの力。乾杯!

    • __destruct -デストラクタ。公平にしましょう。MySQLもこれを必要としませんでした。ただし、PDOを使用すると、コードを1行も記述せずに、無料で入手できます。

    いいね!古いコードを削除することで、そのあいまいなデータベースクラスからPDOに移行することができました。おめでとうございます:

    $db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
    

    もしあなたが今考えているなら、私が自分でデータベースクラスを持ちたいとしたらどうでしょうか? PDOから拡張できるので、それを行うことができます(はい、機能します):

    class DB extends PDO
    {
       ... my super-new-shiny-code
    }
    

    なぜあなたはそれをしたいかもしれませんか?わかりませんが、コードの方が流暢かもしれません。より良いコード例をお探しの場合は、ハイパーリンク付きのPHP/MySQLテーブル<にあります。 / a> 。



    1. SQL ServerのFORMAT()でサポートされているカスタムの日付/時刻形式の文字列

    2. DESCRIBEコマンドを使用せずにOracleでテーブルを記述するにはどうすればよいですか?

    3. SQLServerでのデータベーススキーマの使用

    4. マネージドPostgreSQLクラウドソリューションのベンチマーク:パート2-Amazon RDS