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