質問: 現在のDB関連システムは9割がMySQLi、1割がPDOで作られています。現状のシステムの半分程度の新しいシステムを新規に作成して追加する場合、PDOとMySQLiのどちらを使うべきでしょうか。それぞれのメリット・デメリットも教えていただけますと嬉しいです。 私はPDOよりもMySQLiに慣れています。使用しているプログラム言語はPHP、DBはMysqlです。
回答: 新規に学習することが目的だったり、新規に構築するのであればmysqliを使う理由自体が無いのでPDO一択ですが、そうではない場合はケースバイケースです。 PDOが人気の理由とは?も参考になると思います。 追加する部分の条件によって変わるかと思いますが観点としては * 既存部分の再利用があるか * フレームワークやORMの利用可能性があるか * 将来的に管理や開発を他の人が行う可能性があるか * 将来的にRDBMSをMySQLから他のものに変更する可能性があるか あたりかなと思います。 それぞれのケースだと以下の様な感じでしょうか。 既存のクラスや関数を使い回す必要や可能性がある。もしくはWordPress等のmysqliを使ったプロダクトがベースになっている場合 選択肢としてはmysqliしかありません 既存のクラスや関数を使い回す必要や可能性が無いが、フレームワークやORMを使う予定がない。他人が触る可能性も今のところない場合 慣れているmysqliが良いでしょう。 将来的にPHPエンジニアとして転職やフリーで活動したいなら給料を貰いながらPDOを勉強するのも悪い選択肢ではありません。 既存のクラスや関数を使い回す必要や可能性が無いが、フレームワークやORMを使う予定がない。他人が触る可能性がある場合 PDOで作っておけば、若干メンテナンス出来る人が増えるかもしれません。 (mysqilでもオブジェクト指向で作っておけばそんなには変わりません。) 既存のクラスや関数を使いまわす必要が無く、フレームワークやORMを使って楽に品質を高めたい場合 PDOを使った方が良いというか、そのフレームワークやORMの制約に従った結果、PDOを使うことになると思います。 将来的にRDBMSをMySQLから他のものに変更する可能性がある場合 PDO一択になります。 (とはいえ、本当にどのRDBMSでも使えるように作るのは大変なので、現実的にはあんまり考える必要は無いと思います)