mysql拡張機能は古く、15年前にリリースされたPHP 2.0から存在しています(!!)。これは、過去の悪い慣習を捨てようとする現代のPHPとは明らかに異なる獣です。 mysql拡張機能は、MySQLへの非常に生の低レベルのコネクタであり、多くの便利な機能がないため、正しく適用するのが困難です。 安全な方法で;したがって、それは初心者にとっては悪いことです。多くの開発者はSQLインジェクションを理解しておらず、mysql APIは脆弱であるため、認識していてもそれを防ぐのは困難です。グローバルな状態(たとえば、暗黙的な接続の受け渡し)でいっぱいであるため、保守が難しいコードを簡単に記述できます。古いため、PHPコアレベルで維持するのは不当に難しいかもしれません。
mysqli拡張機能ははるかに新しく、上記のすべての問題を修正します。 PDOもかなり新しく、これらすべての問題に加えて、さらに多くの問題を修正します。
これらの理由*により、mysql拡張機能は将来削除される予定です。それは全盛期にその仕事をかなりひどくしました、しかしそれはそれをしました。時が経ち、ベストプラクティスが進化し、アプリケーションがより複雑になり、より最新のAPIが必要になりました。 mysqlは廃止され、一緒に生きています。
これらすべてを考えると、理由はありません 慣性を除いてそれを使い続けるために。
*これらは私の常識的な要約の理由です。公式ストーリー全体については、こちらをご覧ください: https://wiki.php.net/rfc/mysql_deprecation
そのドキュメントからの選択の引用は次のとおりです: