PHP PDOに基づくSQLite操作類【添削改ざん及び事務等の操作を含む】

2803 ワード

本明細書の例では、PHPがPDOに基づいて実装されるSQLiteオペレーションクラスについて説明する.皆さんの参考にしてください.具体的には以下の通りです.
直接コード:
注意:データベースの保存パスを必ず書いてください.

db = new PDO('sqlite:'.dirname(__FILE__).'\log.db');
    $this->table_name=$tab;
    $this->tab_init();
  }
  public function tab_init()
  {
    #     ,   
    $this->db->exec("CREATE TABLE log(
      id integer PRIMARY KEY autoincrement,
      urls varchar(200),
      ip varchar(200),
      datetimes datetime default (datetime('now', 'localtime'))
      )");
  }
  public function insert($tab_name,$key_list,$value_list)
  {
    // echo "INSERT INTO ".$tab_name." (".$key_list.") values(".$value_list.")";
    $result=$this->db->exec("INSERT INTO ".$tab_name." (".$key_list.") values(".$value_list.")");
    if (!$result) {
      return false;
    }
    // echo "{{{INSERT INTO ".$tab_name." (".$key_list.") values(".$value_list.")}}}}";
    $res=$this->db->beginTransaction();//   gun
  }
  public function total($tab_name,$tj='')//      
  {
    $sth = $this->db->prepare('SELECT count(id) as c FROM '.$tab_name.' '.$tj);
    $sth->execute();
    $result = $sth->fetchAll();
    return $result[0]['c'];
  }
  public function update()
  {
    #   
  }
  function delete($value='')
  {
    #   
  }
  public function query($tab_name,$tj='')//      
  {
    $sth = $this->db->prepare('SELECT * FROM '.$tab_name.' '.$tj);
    // echo 'SELECT * FROM '.$tab_name.' '.$tj;
    $sth->execute();
    $result = $sth->fetchAll();
    return $result;
  }
}
// $db=new SqliteDB();
// $res=$db->insert('log','ip,urls,datetimes','"127.0.0.1","www.baidu.com","2012-12-12 00:00:00"');//    
// $res=$db->query('log');//    
// $res=$db->total('log');//    
// print_r($res);
// foreach ($res as $key => $row) {
// echo $row['urls'];
// }
?>


PHPに関する詳細について興味のある読者は、「PHPベースpdo操作データベーステクニック総括」、「php+Oracleデータベースプログラム設計テクニック総括」、「PHP+MongoDBデータベース操作テクニック大全」、「phpオブジェクト向けプログラム設計入門コース」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」を参照してください.および「php一般データベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.