PHPでMySQLを操作するAPIは「mysqli」か「PDO」を使うといいよという話
こんばんは。
フレームワークを使っての開発をすることが多かったので、PHPオンリーの開発でMySQL接続するにはどうすればいいかを忘れてました。方法調べてたら、色々あったので、調べてみてまとめてみました。
主にここに書いてあることについてです。
PHP: どの API を使うか - Manual
3つのAPIの比較
MySQLに接続する方法として主に3つの方法が提供されています。
- mysql
- mysqli
- PDO
の3つを使った方法です。どれも速度的にはほぼ変わらないようですが、他の部分ではかなり違うようです。違いに関しては表にまとめてあったので、個人的に気になった部分をピックアップしていきます。
比較項目 | mysql | mysqli | PDO |
---|---|---|---|
どのバージョンから使えるか | 2.0 | 5.0 | 5.1 |
開発状況 | 保守対応のみ | 進行中 | 進行中 |
ライフサイクル | 将来的に廃止 | 活動中 | 活動中 |
オブジェクト指向開発できるか | × | ◯ | ◯ |
手続き型で開発できるか | ◯ | ◯ | × |
これを見ると、mysqliかPDOが現在と将来も活動予定なので、それらを使ったほうがよさそうですね。
使い方でさらに手続き型で開発がしたいならmysqli、オブジェクト指向ならmysqli、PDOをつかうという選択になると思います。あと、PDOとオブジェクトのmysqliは、プリペアドステートメントを扱えば、sqlインジェクション対策も気軽に実装できるのでいいです。
ということで、PHPの本とかサイトの情報を見ると、mysqlを使って接続をしているものが多い気がしますが、mysqliかPDOを使うのがおすすめです。
では、またー