ねっとぱんだ-プログラミング勉強ブログ-

Webデザイン、プログラミングの勉強ブログ。

【php】PDO::setAttribute

PDO::setAttribute

参考
http://php.net/manual/ja/pdo.setattribute.php
  • 属性を設定する
  • データベースハンドルの属性を設定
  • いくつかのドライバでは、 ドライバ固有の属性を使用することが可能

説明の詳細(データベースハンドル、ドライバ?)

参考
https://msdn.microsoft.com/ja-jp/library/windows/hardware/ff554678(v=vs.85).aspx

データベースハンドル

  • handle = 操作するもの
  • プログラムは、メモリ上に配置される
  • メモリ上に配置されたプログラムに対して、その内容に従ってCPU が処理を実行
  • 例)ボタンやテキストボックス(文字列の入出力をする部位)等も、メモリ上に配置される
    • ボタンのメモリ配置上の先頭アドレスを「ボタンのハンドル」と言う
    • ボタンのハンドルを取得するプログラム = ボタンの表示文字を他の文字に替えたり、ボタンの大きさを替えられる
    • テキストボックスのハンドルを取得すれば、そのテキストボックスにユーザーが書き込んだ文字列を取得することが可能

ドライバ

  • driver 運転手、操縦者、駆動装置、推進力
  • ドライバーとはオペレーティング システムとデバイスの間で相互のやり取りを可能にするソフトウェア コンポーネント
  • ドライバ回路 電子回路で、対象に電力を供給して動かしたり、遮断して止めたりする機能を持った回路
  • デバイスドライバ コンピュータ内部に装着した装置や、外部に接続した機器を制御・操作するための専用のソフトウェア
  • 例)アプリケーションでデバイスからデータを読み取る必要がある場合
    • アプリケーションはオペレーティング システムで実装された関数を呼び出す
    • オペレーティング システムはドライバーで実装された関数を呼び出す
    • バイスの設計と製造をした会社が作ったドライバーであれば、デバイス ハードウェアとやり取りする方法を認識してデータを取得
    • データはオペレーティング システムに返され、さらにアプリケーションへと返される

具体的な記述

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

PDO::ATTR_CASE

PDO::CASE_LOWER
強制的にカラム名を小文字にする
PDO::CASE_NATURAL
データベースドライバによって返されるカラム名をそのままにする
PDO::CASE_UPPER
強制的にカラム名を大文字にする
PDO::ATTR_ERRMODE

  • エラーレポート

PDO::ERRMODE_SILENT
エラーコードのみ設定する
PDO::ERRMODE_WARNING
E_WARNING を発生させる
PDO::ERRMODE_EXCEPTION
例外 を投げる

PDO::ATTR_ORACLE_NULLS

  • Oracle だけでなく、全てのドライバで利用可能
  • NULL と空文字列の変換

PDO::NULL_NATURAL
変換しない
PDO::NULL_EMPTY_STRING
空文字は NULL に変換される
PDO::NULL_TO_STRING
NULL は空文字に変換される

返り値 ¶

成功した場合に TRUE を、失敗した場合に FALSE を返します。

その他

http://php.net/manual/ja/pdo.setattribute.php

  • PDO::ATTR_STATEMENT_CLASS
  • PDO::ATTR_TIMEOUT
  • PDO::ATTR_AUTOCOMMIT
  • PDO::ATTR_EMULATE_PREPARES
  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
  • PDO::ATTR_DEFAULT_FETCH_MODE