2017-03-14 6 views
-1

PHP PDO(PHP Data Objects)チュートリアルで、私はPDOの利点がMySQLに比べてPDOがプラットフォームに依存しないということを読んできました。これは、あなたがMySQLデータベース管理システムを使ってPHP PDOでスクリプトを書いたことを意味しています。後で、WebアプリケーションをOracleなどの別のデータベース管理システムに切り替えるには、クエリを書き直す必要はありません。 MySQLiの場合は、クエリを書き直す必要がありました。

今、私は次の行

$ CONN =新しいPDO( "mysqlの:ホスト= $サーバー名; DBNAME = MYDB"、$ユーザ名、 $パスワード)を見て、混乱しています。

なぜ「mysql」を最初のパラメータに指定する必要がありますか?私のウェブサイトを別のDBMSに移植する必要がある場合は、この「mysql」を「oracle」のように置き換える必要はありませんか?

うまくいけば誰かがこれを明確にしてください。それはとても激しいdownvotedされた理由を、実際に良い質問です

おかげ

+2

*最初のパラメータに "mysql"と言わなければならないのはなぜですか?私は使用しているdbmsをPDOに伝える必要があると信じていますので、dbmsの機能を使用することができます –

+2

[mysqliまたはPDO - 長所と短所は何ですか?](http://stackoverflow.com/questions/13569/mysqli-or-pdo-what-are-the-pros-and-cons) –

+0

PDOの使用はありません** * *別のデータベースに迅速化する場合は、クエリを書き直す必要はありません。他のrdbmsで使用できない機能を問合せで使用する場合は、問合せを再作成する必要があります。 – Shadow

答えて

1

は、知りません。

後でWebアプリケーションをOracleなどの別のデータベース管理システムに切り替えたい場合は、クエリを書き直す必要はありません。

残念ながら、それは厄介な噂です。実際には、多くのクエリも書き直す必要があります。 PDOはDatabase Access Abstraction layerであり、異なるデータベースにアクセスする統一APIを提供しますが、異なるSQLの味に応じてSQLクエリを書き換えません。

なぜ、最初のパラメータに "mysql"と記述する必要がありますか?まあ、でも、あなたの想像PDOのためにあなたがを使用するドライバー、何とかを伝える必要があるだろう

。したがって、実際のP​​DOについても同様です。ペプシまたはコークスのいずれかを使用して1台の自動販売機があなたにサービスを提供できるのは事実ですが、それは心を読むことができず、それが何であるかを特定する必要があります。

はい - 接続するデータベースを指定する必要があります。はクエリを書き換えます。ほとんど意味のない利点だことMySQLiを

オーバー

PDOの利点は - 実際にmuch moreあります。

関連する問題