/bonvhp/webapp2/PDO       [後へ]   [目次へ]   [次へ] ~ [] ~

PDO:データの入出力

prepare

public PDO::prepare(string $query, array $options = []): PDOStatement|false
引数 $query に SQL文を設定します。 引数 $options については、編者は使ったことがありません。 実行に成功すると PDOStatement (PDOオブジェクト) を返すので、 このオブジェクトを使って以降の関数を実行します。

execute

public PDOStatement::execute(?array $params = null): bool
SQL を実行します。 成功した場合に true を、失敗した場合に false を返します。 # データを読み出す場合は、後述の別関数が必要です。 # 読みだしたデータが返ってくるわけではありません。 $params は、 ・'?'プレースホルダ利用時は、実際に設定する値を配列で指定します。 ・名前付きプレースホルダ利用時は、何も指定するものはありません。

fetch

public PDOStatement::fetch(int $mode = PDO::FETCH_DEFAULT, int $cursorOrientation = PDO::FETCH_ORI_NEXT, int $cursorOffset = 0): mixed
$mode出力するモード。省略すると、PDO オブジェクト生成時のデフォルトに。
$cursorOrientation「スクロール可能カーソル」関連。説明省略
$cursorOffset「スクロール可能カーソル」関連。説明省略
データを1行分取得します。 データが複数行ある場合は、その数だけ繰り返し実行します。 取得に失敗するか、取得できる行がない場合は false を返します。

fetchColumn

public PDOStatement::fetchColumn(int $column = 0): mixed
1つのカラムのデータを取得します。 取得に失敗すると、false を返します。 $column は、取得したい 0 で始まるカラム番号を指定します。 省略すると 0番目のカラムが対象になります。 サンプル・プログラムでは、 addRecord で、$sth->fetchColumn() として使っています。 引数を省略しているので、0番目。 doc_data テーブルの0番目カラムは doc_id なので、 結果として doc_id の値が取得できています。 ちなみに、 boolean型のカラムには使わないでください。 取得失敗の false と、実際の値の false との区別が付かないからです。
prepare 引数 $options について。 PDO::ATTR_ERRMODE などを渡すこともできるようですが、非推奨です。 「スクロール可能カーソル」を有効にできるデータベースありますが、 PostgreSQL は非対応です。 fetch は通常、次の行への1方向しかデータを取り出せませんが、 「スクロール可能カーソル」が使えるデータベースでは、 前の行に戻ったりすることが可能なようです。
/bonvhp/webapp2/PDO       [後へ]   [目次へ]   [次へ]