You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
@ -0,0 +1,72 @@
|
||||
<?php
|
||||
/**
|
||||
* Sqlite 预定义了类 SQLiteDatabase 本实现没有使用。
|
||||
* 这里使用的全部是过程函数。
|
||||
* 无论是函数还是类,本实现只支持sqlite的2.x系列版本。
|
||||
* php5.3新增扩展sqlite3用来支持3.x版本。
|
||||
* PDO则同时支持2.x和3.x版本。
|
||||
*/
|
||||
class LtDbConnectionAdapterSqlite implements LtDbConnectionAdapter
|
||||
{
|
||||
public function connect($connConf)
|
||||
{
|
||||
if (isset($connConf['pconnect']) && true == $connConf['pconnect'])
|
||||
{
|
||||
$func = 'sqlite_popen';
|
||||
}
|
||||
else
|
||||
{
|
||||
$func = 'sqlite_open';
|
||||
}
|
||||
$connConf["host"] = rtrim($connConf["host"], '\\/') . DIRECTORY_SEPARATOR;
|
||||
if(!is_dir($connConf["host"]))
|
||||
{
|
||||
if(!@mkdir($connConf["host"], 0777, true))
|
||||
{
|
||||
trigger_error("Can not create {$connConf['host']}");
|
||||
}
|
||||
}
|
||||
$error = '';
|
||||
$connResource = $func($connConf["host"] . $connConf["dbname"], 0666, $error);
|
||||
if (!$connResource)
|
||||
{
|
||||
trigger_error($error, E_USER_ERROR);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $connResource;
|
||||
}
|
||||
}
|
||||
|
||||
public function exec($sql, $connResource)
|
||||
{
|
||||
if(empty($sql))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
sqlite_exec($connResource, $sql);
|
||||
// echo '<pre>';
|
||||
// print_r(debug_backtrace());
|
||||
// debug_print_backtrace();
|
||||
// echo '</pre>';
|
||||
// delete from table 结果为0,原因未知。
|
||||
// 使用 delete from table where 1 能返回正确结果
|
||||
return sqlite_changes($connResource);
|
||||
}
|
||||
|
||||
public function query($sql, $connResource)
|
||||
{
|
||||
$result = sqlite_query($connResource, $sql, SQLITE_ASSOC);
|
||||
return sqlite_fetch_all($result, SQLITE_ASSOC);
|
||||
}
|
||||
|
||||
public function lastInsertId($connResource)
|
||||
{
|
||||
return sqlite_last_insert_rowid($connResource);
|
||||
}
|
||||
|
||||
public function escape($sql, $connResource)
|
||||
{
|
||||
return sqlite_escape_string($sql);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user