2009-05-15 5 views
15

私はPHPをかなり使い慣れており、標準のMySQLデータベースコールを使って中規模のWebサイトを構築しています。しかし、私は最近、PDOについて学びました。MySQLからPDOに切り替える価値があるのか​​コミュニティから知りたいと思っています。セキュリティのために私はmysql_real_escape_stringを使用しています。MySQL対PDO

サイトについて:
私はINSERTSELECTのコールを使用しています。 SELECTコールから返されたデータは大量ではありません(LIMITを使用して30レコードを返しません)。 INSERTもたくさんありません。サイトは現在公開されていないので、今すぐ変更するのは簡単です。

あなたの専門家の意見では、サイトをMySQLからPDOに切り替えるのは時間がかかるのですか?または、MySQLと同じように良好な状態を保っていますか?つまり、PDOに切り替える理由は何ですか?

+5

で見ることができます。 PDOに切り替える人はまだ 'mysql_real_escape_string()'を使用しようとしますが、動作しないときはStackOverflowに重複した質問を投稿します:P –

答えて

33

PDOはmysql_ *関数の上に次のような利点があります。

  • それはそれは別のリレーショナルデータベースに同じインタフェースです意味、クロスデータベースです。
  • SQLインジェクションから保護するのに役立ちます。
  • これははるかにクリーンです(オブジェクト指向のアプローチを使用します)。

この質問は、あなたが答えを見てみたいことがあり、以前に頼まれました:

あなたが新しいプロジェクトを開始している場合は、私がPDOまたはより高いレベルのライブラリ/ ORMを使用することを厳密に示唆します。それを使わずに書かれたコードがたくさんある場合、それは価値がないかもしれません。

+0

素早く応答してくれてありがとう。はい、私は役に立つ他の投稿を見ました。私は、PDOに切り替える間にそれが価値があるかどうかさらに疑問に思っていました。私は切り替えるつもりはありませんでしたが、私はPDOについて学んだので、切り替えが必要な場合、またはMYSQLにとどまるのがうまくいくかどうか不思議でした。 – justinl

+0

すでに多くのコードが書かれていれば、気にすることはありませんが、新しいプロジェクトではPDOを厳密に提案します。 –

+0

はい、かなりの量のコードがあります。私は以前にそれについて学んだことを望みます。しかし、もし私がそれを使わなければ、それは世界の終わりではないと聞くのは良いことです。再度、感謝します! – justinl

4

PDOには、データベースの抽象化(つまり、コードはさまざまな種類のデータベースに移植可能です)のリンク先のページに記載されている利点があります。 (オブジェクト指向のアプローチを奨励することでコード自体を大幅に改善することができる)Classインスタンスとして結果を返します。

ただし、ORMを調べるのが最善の方法ですDoctrineのようなライブラリ。あなたのプロジェクトの規模が大きすぎると思われるかもしれませんが、ベストプラクティスを学ぶのは早すぎることはありません。防弾を構築する方法の優れ概要、Zend Frameworkののリード開発者によって与えられ、保守データベース駆動型アプリケーションは、私がこれまで見てきたPDOを使用しての最大の欠点 http://mtadata.s3.amazonaws.com/webcasts/20090724-playdoh.wmv