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

PHPでmysql_*関数を使用すべきではないのはなぜですか?

    MySQL拡張機能:

    • 活発な開発は行われていません
    • 公式に非推奨 PHP 5.5以降(2013年6月にリリース)。
    • 削除されました 完全に PHP 7.0以降(2015年12月リリース)
      • これは、2018年12月31日 の時点で サポートされているバージョンのPHPには存在しません。これをサポートするバージョンのPHPを使用している場合は、セキュリティの問題が修正されていないバージョンを使用しています。
    • OOインターフェースがない
    • サポートしていません:
      • ノンブロッキング、非同期クエリ
      • プリペアドステートメント またはパラメータ化されたクエリ
      • ストアドプロシージャ
      • 複数のステートメント
      • トランザクション
      • 「新しい」パスワード認証方法(MySQL 5.6ではデフォルトでオン、5.7では必須)
      • MySQL5.1以降の新機能のいずれか

    これは非推奨であるため、これを使用すると、コードの将来性が低下します。

    プリペアドステートメントのサポートの欠如は、別の関数呼び出しを使用して手動でエスケープするよりも、外部データをエスケープおよび引用するためのより明確でエラーが発生しにくい方法を提供するため、特に重要です。

    SQL拡張機能の比較を参照してください。



    1. MySQL/MariaDB用のAzureデータベースをオンプレミスサーバーに移行する

    2. ハロウィーンの問題–パート4

    3. MySQLで非ヌル制約を削除する方法

    4. SQL Serverで同等のINSTR()