PHP PDO
PHP Data Objects (PDO) 拡張機能は、PHP がデータベースにアクセスするための軽量で一貫したインターフェイスを定義します。
PDO はデータ アクセス抽象化レイヤーを提供します。これは、どのデータベースが使用されても、同じ関数 (メソッド) を使用してデータのクエリと取得ができることを意味します。
PDO は PHP5.1 でリリースされ、PHP5.0 の PECL 拡張機能でも使用できます。以前の PHP バージョンでは実行できません。
PDO のインストール
PHP の phpinfo() 関数を通じて、PDO 拡張機能がインストールされているかどうかを確認できます。
Unix システムへの PDO のインストール
Unix または Linux では、次の拡張機能を追加する必要があります:
extension=pdo.so
Windows ユーザー
PDO とすべての主要なドライバーは共有拡張機能として PHP とともに配布されており、アクティブ化するには php.ini を編集するだけです。ファイルを開き、次の拡張子を追加します:
extension=php_pdo.dll
さらに、以下に対応するさまざまなデータベース拡張子があります:
;extension=php_pdo_firebird.dll ;extension=php_pdo_informix.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_oci8.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll
これらの構成を設定した後、PHP または Web サーバーを再起動する必要があります。 次は、PDO を使用して MySql データベースに接続する例を見てみましょう: 次に、PHP PDO の具体的な手順を見てみましょう: 暫定定数の定義 PHP PDO 接続接続管理 PHP PDO トランザクションと自動コミット PHP PDO プリペアド ステートメントとストアド プロシージャ PHP PDO エラーとエラー処理 PHP PDO ラージ オブジェクト (LOB) PDO クラス: PDO::beginTransaction — トランザクションを開始する PDO::commit — トランザクションをコミットする PDO::__construct — データベース接続を表す PDO インスタンスを作成する PDO::errorCode — データベースを取得する操作に関連する SQLSTATE を処理します PDO::errorInfo — 最後のデータベース操作のエラー メッセージを返します PDO::exec — SQL ステートメントを実行し、影響を受けた行の数を返します PDO::getAttribute — データベースを取得します接続プロパティ PDO::getAvailableDrivers — 使用可能なドライバーの配列を返します PDO::inTransaction — トランザクション内かどうかを確認します PDO::lastInsertId — 最後に挿入された行の ID またはシーケンス値を返します PDO:: prepare — 実行する SQL ステートメントを準備し、PDOStatement オブジェクトを返します PDO::query — SQL ステートメントを実行し、結果セットとして理解できる PDOStatement オブジェクトを返します PDO::quote — に引用符を追加しますSQL ステートメント内の文字列。 PDO::rollBack — トランザクションをロールバックする PDO::setAttribute — 属性を設定する PDOStatement クラス: PDOStatement::bindColumn — 列を PHP 変数にバインドする PDOStatement::bindParam — パラメータをバインドする指定された変数名にバインドします。 PDOStatement::bindValue — 値をパラメータにバインドします。 PDOStatement::closeCursor — ステートメントを再度実行できるようにカーソルを閉じます。 PDOStatement::columnCount — 結果セット内の列の数を返します PDOStatement::debugDumpParams — SQL 前処理コマンドを出力します PDOStatement::errorCode — 最後のステートメント ハンドル操作に関連する SQLSTATE を取得します PDOStatement:: errorInfo — 最後のステートメント ハンドル操作に関連する拡張エラー情報を取得します PDOStatement::execute — 準備されたステートメントを実行します PDOStatement::fetch — 結果セットから次の行を取得します PDOStatement::fetchAll — を含むリストを返します結果セット内のすべての結果 行の配列 PDOStatement::fetchColumn — 結果セット内の次の行から 1 つの列を返します。 PDOStatement::fetchObject — 次の行を取得し、オブジェクトとして返します。 PDOStatement::getAttribute — ステートメント属性を取得します PDOStatement::getColumnMeta — 結果セット内の列のメタデータを返します PDOStatement::nextRowset — 複数行セットのステートメント ハンドルで次の行セットに進みます PDOStatement: :rowCount — 前の SQL ステートメントの影響を受けた行数を返します PDOStatement::setAttribute — ステートメント属性を設定します PDOStatement::setFetchMode — ステートメントのデフォルトのフェッチ モードを設定します。 上記は [php チュートリアル] PHP PDO の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。 <?php
$dbms='mysql'; //数据库类型
$host='localhost'; //数据库主机名
$dbName='test'; //使用的数据库
$user='root'; //数据库连接用户名
$pass=''; //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";
try {
$dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象
echo "连接成功<br/>";
/*你还可以进行一次搜索操作
foreach ($dbh->query('SELECT * from FOO') as $row) {
print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
}
*/
$dbh = null;
} catch (PDOException $e) {
die ("Error!: " . $e->getMessage() . "<br/>");
}
//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));
?>