sqlite:详细参考《PHP5权威编程》
1.代码实例
准备工作:需要安装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 message
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脚本只要设定的动作发生时该脚本就会运行
代码实例:
$string = "CREATE TRIGGER INDEX_NEW AFTER INSERT ON USER
BEGIN
//DO SOMETHING
END;";
$DBH->query(string );