2013年4月4日木曜日

PHP講座 week5-2; SQLite3やPDO(PHP Data Object)を使う基礎とか

かくかくしかじか、学生向けにPHPを教えている。シラバスはこんな具合

講義室のプロジェクターが故障(要ランプ交換)していた為に、一部復習Tipsなども交えつつホワイトボードに書いた…の一部を撮影しといたなど。




今回の基本的な内容は、

  • ぷち復習&対話シェルで使う「SQLite3」の基礎
  • PHPのPDOを使ってSQLite3データベースを利用する基礎
    • 基本的なPDOの使い方
      1. $d = new PDO('sqlite:my_database.sqlite.db');
      2. $r = $d->query('select * from my_table where c1=aaa');
      3. $r->fetch()
    • PDOのポイント
      • 使い方は基本的に接続先データベースによらず一緒で良い
        • SQLite3, MySQL, PostgreSQLほかに対応
      • new PDOで接続
        • 接続はオブジェクトの寿命まで維持される
      • PDO::query()でSQLを投げつける
        • 戻り値はPDOStatementオブジェクトまたはfalse
      • PDOStatement::fetch()でクエリー結果を取得する
        • fetchは使い方が幾つかある(サンプルでは2通りの使い方を紹介)
    • SQLite3のTips

とな具合。

おまけとして、Windowsを使っている学生さんで
「`new PDO`で例外が飛んでデータベースを使えないよ!」
というトラブルがありました。トラブルシュートに行ってみると、発動条件は、
  • Windows 7にて
  • サンプルを日本語を含むディレクトリーに配置して
  • php -Sによりビルトインウェブサーバーを使用
  • new PDOする
と言った具合で、WindowsのファイルシステムはCP932ですからそれが原因でトラブったのでしょう。とりあえず日本語を含まないディレクトリーにサンプルを配置する事と、状況の予想についての解説をするなどしました。Windowsだるぽよー(;´∀`)

0 件のコメント:

コメントを投稿