PDOの用途は何ですか?解決

WBOY
WBOYオリジナル
2016-06-13 12:53:551322ブラウズ

PDOの用途は何ですか?
ウィキペディアによると
PDO 拡張機能は、PHP がデータベースにアクセスするための軽量で一貫したインターフェイスを定義し、どのようなデータベースが使用されても、一貫した関数を通じてクエリとデータを取得できるようにするデータ アクセス抽象化レイヤーを提供します。 PDO は PHP5.1 でリリースされ、PHP5.0 の PECL 拡張機能でも使用できます。

これはどういう意味ですか? pdoで実行したクエリコードはデータベースを変更しても正常に動作しますか?
SQL クエリ内の各データは異なります。たとえば、mysql には制限があり、MSSQL には制限がない場合、pdo は自動的に変換しますか?
そうでない場合、pdo を使用する意味は何でしょうか?

php 拡張機能
-----解決策--------------------------------
データベースの違いにより、それぞれのデータベースへの呼び出しはまったく同じではありません。同じプログラムが異なるデータベースを使用してデータを保存する場合、プログラムのデータ処理部分を変更する必要があり、不便が生じます。移植。
pdo を使用すると、データベース アクセスに一貫したインターフェイスが提供されます。必要なのは、構成された接続パラメータで異なるデータベース ドライバーを構成することだけであり、データ処理プログラムへの変更は最小限に抑えられるか、まったく変更する必要がありません。データ処理とセキュリティに大きな利便性をもたらします。
------解決策---------
引用:
他の拡張機能は必要ありません。

以前は、データベースの種類ごとに拡張機能が必要でしたが、現在はその必要がありません。



実際、他のパッケージへの依存性がまったくないとは言えません。

php5.3 以降、PHP は mysqlnd というライブラリを追加しました。PDO_USE_MYSQLND マクロが定義されている場合は、mysqlnd が提供する API を使用して mysql を操作する必要があると判断します。ファイルを開き、mysql 自体の API を呼び出します。

php_mysql と php_mysqli もあります。php をコンパイルするときに mysql ドライバーを mysqlnd (--with-mysql=mysqlnd および --with-mysqli=mysqlnd) として指定する場合は、mysqlnd インターフェースを使用して mysql を操作します。それ以外の場合は、 -- を指定する必要があります。 with-mysql と --with-mysqli を php-config として使用すると、mysql 自体の API が使用されます。


php_pdo_mysql_int.h
--------------------------------
/* $Id$ */

#ifndef PHP_PDO_MYSQL_INT_H
#define PHP_PDO_MYSQL_INT_H

#定義されている場合(PDO_USE_MYSQLND)
# "ext/mysqlnd/mysqlnd.h" をインクルードします
# "ext/mysqlnd/mysqlnd_libmysql_compat.h" をインクルードします
# PDO_MYSQL_PARAM_BIND を定義 MYSQLND_PARAM_BIND
#else
#
をインクルードします # PDO_MYSQL_PARAM_BIND MYSQL_BIND
を定義します #endif
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。