PHPのPDO
PHP Data Objects(PDO)拡張モジュールは、軽量、一貫性のあるインターフェースのPHPデータベース・アクセスを定義します。
PDOは、データベースの種類、あなたは同じ機能(メソッド)を使用してデータを照会して取得することができますに関係なく、ことを意味しないデータアクセス抽象化レイヤを提供します。
PECL拡張PHP5.0で発行されたPHP5.1とPDOを使用してもよい、あなたは、PHPの以前のバージョンで実行することはできません。
PDOのインストール
あなたはPDO拡張モジュールがインストールされているかどうかを確認するためにPHPのは、phpinfo()関数をすることができます。
UnixシステムのPDOのインストール
UnixやLinuxでは、以下の拡張子を追加する必要があります。
extension=pdo.so
Windowsユーザー
PDOと単純にphp.iniファイルを編集し、以下の拡張子を追加し、それらを活性化するために、PHPでリリースされ、共有拡張機能として、すべての主要なドライバー:
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サーバを再起動する必要があります。
次に、以下の例では、MySQLデータベースに接続するためにPDOを使用し、その具体的な例を見てみましょう。
<?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)); ?>
非常に単純な、それを私たちが指定した特定のPHPのPDOを見てみましょう:
- 定義済み定数
- PHPのPDO接続マネージャ
- PHP PDO総務自動コミット
- PHPのPDOは、ステートメントおよびストアドプロシージャを用意しました
- エラー処理とPHPのPDOのエラー
- PHPのPDOラージ・オブジェクト(LOB)
- PDOカテゴリ:
- ::はBeginTransaction PDO -トランザクションを開始
- :: PDOをコミット -トランザクションをコミット
- :: __ PDOを構築 - PDOインスタンスのデータベース接続を作成します。
- PDO :: errorCodeをデータベース・ハンドルに関連するSQLSTATEにおける直近の操作に取得を-
- ::のErrorInfo PDOは -エラーメッセージデータベースの最後のアクションを返します
- :: PDOをEXEC SQL文を実行し、影響を受ける行数を返します-
- ::のgetAttribute PDOは -データベース接続の属性を取得します
- :: GetAvailableDrivers PDO -利用可能なドライバの配列を返します
- :: inTransaction PDO -かどうかをチェックし、トランザクション内
- :: PDOをにおけるlastInsertId - IDまたはシーケンス値は、最後に挿入された行を返します。
- :: PDOをPREPARE -実行するSQL文を準備してはPDOStatementオブジェクトを返しました
- :: PDOの照会 - 、SQL文が実行された結果セットとして理解することができるPDOStatementオブジェクトを返します。
- :: PDOを引用 - SQLステートメント・ストリングに引用符を追加します。
- ::のRollBack PDO -トランザクションをロールバックします
- :: setAttributeメソッドPDO -プロパティの設定
- PDOStatementカテゴリ:
- :: BindColumnをPDOStatement - 1 PHP変数にバインドされた1
- :: bindParamをPDOStatementへ -指定された変数名にパラメータをバインドします
- :: BindValueをPDOStatement -パラメータに値をバインド
- :: CLOSECURSORをPDOStatement -文が再び実行できるように、カーソルを閉じます。
- ::のColumnCountをPDOStatement -結果セットのカラム数を返します
- :: DebugDumpParamsをPDOStatement - SQLコマンドの前処理を印刷
- ::のErrorCode PDOStatementには - SQLSTATEの動作に関連するステートメントに追いつくためにハンドルを取得します
- ::のErrorInfoをPDOStatement -拡張エラー情報の動作に関連するステートメントに追いつくためにハンドルを取得します
- ::はPDOStatementを実行 -プリペアドステートメントを実行します
- ::はPDOStatementをFETCH -焦点は、結果から次の行を取得します
- :: fetchAllのをPDOStatement -結果セット内のすべての行の配列を返します。
- :: FetchColumnをPDOStatement -単一のものを返すように結果セットの次の行から。
- ::はfetchObjectをPDOStatement -オブジェクトとして次の行とリターンを取得します。
- ::のgetAttribute PDOStatementには -ステートメント属性を取得します
- :: GetColumnMetaをPDOStatement -戻り値は、で結果セットのメタデータを
- :: NextRowsetをPDOStatement -ステートメント・ハンドルで複数行セットの行の次のセットにあらかじめ
- :: rowCountのはPDOStatement -行数のSQL文の影響による返品
- :: setAttributeメソッドをPDOStatement -ステートメント属性を設定します。
- ::はsetFetchModeをPDOStatement -ステートメントのデフォルトの取得モードを設定します。