sqlite:詳細參考《PHP5權威編程》php
準備工做:須要安裝sqlite擴展 並在php.ini中開啓php_pdo_sqlite.dll文件重啓 php(php_fpm)phpinfo()查看 sqlite 常常報warning 因此在函數前面加@頗有必要
try { $dbh = new PDO('sqlite:crm.db') or die('create db failed'); //建表 $dbh->exec("CREATE TABLE myweishanli(id integer,name varchar(255));"); $dbh->exec("INSERT INTO TEST(id,name) VALUES (1,'MAOMAO')"); $dbh->beginTransaction(); $sth = $dbh->prepare("SELECT * FROM TEST"); @$sth->execute(); $result = @$sth->fetchAll(); echo '<pre>'; print_r($result); } catch(PDOException $E){ echo 'connection failed:'.$E->getMessage(); $dbh = null; } unset($dbh);
2.獲取error messagesql
sqlite_last_error() sqlite_error_string() 獲取失敗信息
3.簡單事務處理數據庫
默認狀況下,sqlite會直接把查詢提交到硬盤,致使許多查詢語句變慢,還有可能其餘程序在咱們輸入地址的時候插入數據到數據庫中。爲了解決這兩個問題,能夠簡單的使用一個事務來處理。爲了啓動事務。能夠執行一個包含"BEGIN TRANSACTION" 的查詢或者簡單的寫成"BEGIN"。在事務中使用"COMMIT"來提交全部的事務中的查詢到硬盤中。速度會快不少
代碼實例:編程
$dbh->query('BEGIN'); $INSERT_QUERY = "INSERT INTO USER(id,name) VALUES ('2',''MAOMAO)"; $dbh->query(INSERT_QUERY ); $dbh->query('COMMIT');
4.觸發器函數
觸發器能夠被設定到修改數據的查詢中,包含一個小小的sql腳本只要設定的動做發生時該腳本就會運行
代碼實例:fetch
$string = "CREATE TRIGGER INDEX_NEW AFTER INSERT ON USER BEGIN //DO SOMETHING END;"; $DBH->query(string );