php中使用sqlite


最近学习php,以前用过sqlite一段时间,所以想用sqlite做数据库。不熟悉php。

//使用pdo建立数据库或连接

//下面的语句如果在路径中存在数据库则连接,否则建立数据库

$db = new PDO("sqlite:e:/phpeclipse/bbs/db1.db");

//下面的是处理开始标记,php文档上说一旦下了这个语句,下面出现commit()或者rollback()才执行,我们让它直接执行

//$db->beginTransaction();
//查询是否存在表test,不存在建立test表,否则直接进行对数据库操作

$query = $db->query("select name from sqlite_master where type = 'table' and name = 'test'");

if($query->fetch() === false)
{
$db->exec("CREATE TABLE test(
id INT USIGNED NOT NULL,
name CHAR(11),
grade int,
study CHAR(20),
PRIMARY KEY(id));");
//$db->commit();
}else{

//查询操作

$res =  $db->query("select * from tg_user where tg_username = 'qyl'");
$rows = $res->fetchAll();
$count = count($rows);
echo $count;


//插入

$db->exec("INSERT INTO test(id,name,grade,study) VALUES (2111,'11','12312','234234')");

}

按上面的操作不会出现问题

如果我们已经有了一个数据库,只是连接上的话,用上面的方法就会出现问题。

我把这样建立好的数据库复制到另外一个路径下,然后进行同样的操作,就一直出错,连接不到数据库,或者说只能查询不能插入。

所以使用这种方法时,一定要使用$db = new PDO("sqlite:e:/phpeclipse/bbs/db1.db");新建个数据库,然后导入你现有的数据。

至于是什么原因,还望各位大神指导啊?


你可能感兴趣的:(php,FOSS,Gis,Study,sqlite,php,数据库,table,insert,query)