PDO
PDO (PHP Data Object)
データアクセス抽象化レイヤ
データベースへのアクセスを抽象化するためのクラス群
PHP5.1から標準で搭載
・PDOクラス
コンストラクタ引数
データソース名(DSN)、ユーザ名、パスワード(、オプション)
DSN例:mysql:host=localhost; dbname=pdotest
queryメソッド
SQL文を実行し、その結果をPDOStatementに格納し返す。
prepareメソッド
SQLを解釈し、PDOStatementオブジェクトを返す。
複数回実行されるようなSQLを扱うのに向いている。
execメソッド
SQL文を発行し、変更を行った行数が戻る。
SELECTの結果は、返されない。
beginTransactionメソッド
トランザクションを開始する。
rollBackメソッド
beginTransaction前の状態に戻る。(ただし、未commit時)
commitメソッド
トランザクションをコミットする。
実行後オートコミットに戻る。
lastInsertIdメソッド
最後に追加されたIDを返す。(更新や参照も?)
PDO::FETCH_ASSOC 結果セットを連想配列で返す指定。
PDO::FETCH_NUM
PDO::FETCH_BOTH
PDO::FETCH_OBJ
PDO::FETCH_BOUND bindParamやbindColumnで、結果セットと変数を結びつて取得する指定。
PDO::FETCH_FUNC コールバックを指定して、結果セットを取得。(取得後に、加工せずに済む)
・PDOStatementクラス
PDOのqueryやprepareメソッドの戻り値として返される
bindParam・bindValueメソッド
prepareメソッドで設定したプレースホルダー(?, :ID等)に値を結びつける。
Paramは変数を、Valueは値を指定する。
第三引数で、データの型を指定可能。
executeメソッド実行前に、呼出す事
#bindParamは、bindColumnと同じように、SELECT文でも使える。
(取得結果を、変数に結びつける事ができる。)
bindColumnメソッド
SELECT文で使う。execute後、fetchする前に、変数とカラムを結びつける。
fetch後、カラムを指定した変数に、その値が入っている。
executeメソッド
プリペアードステートメントを実行するメソッド。
配列を引数に渡し、bindする事もできる。
fetchメソッド
一行単位で結果セットを取得。
fetchAllメソッド
全行の結果セット取得
fetchColumnメソッド
一行単位で指定したカラムの結果を取得
rowCountメソッド
UPDATEやDELETEした行数を返す。
PDOException