用php操作sqlite3

Sqlite是一个跨平台的软件,不需要安装或设置,只需在最终用户的系统上创建一个数据库文件就可以了,在平台和系统之间移植非常方便。由于它具有跨平台、规模小的特点,所以被很多公司使用,如MozillaAdobeSymbian等。

这段时间我也打算学习下Sqlite,做一些简单的演示时非常方便,不用在最终用户的系统安装数据库环境了。但在利用PHP操作数据库时发现PHP默认只支持到Sqlite2,不支持最新版的Sqlite3。如果想支持Sqlite3就要使用PDO。要想使用PDO,需要在php.ini里面载入php_pdo.dllphp_pdo_sqlite.dll两个模块。如下:

extension=php_pdo.dll
extension=php_pdo_sqlite.dll

如果这两段代码前面有;,就把它去掉。下面是我编写的Sqlite操作代码,一共有五个函数,分别是链接数据库、插入新数据、删除数据、更新数据和显示数据。


/**
 * 创建一个 sqlite3 链接
 * @author Jon<jon.ju@msn.com>
 * @return object 返回一个数据链接对象
*/
function connectSqlite(){
    // 设置数据库的位置
    $db = "sqlite:".$_SERVER['DOCUMENT_ROOT']."/sqlite/web.db";
    echo $_SERVER['DOCUMENT_ROOT']."/sqlite/web.db" . '<br />';
    $user = "";
    $pass = "";
    $dbHandle = new PDO($db,$user,$pass);
    echo 'Connected to database<br />';
    return $dbHandle;
}
/**
 * 插入新数据
*/
function insertSqlite($conn){
    $qry = $conn->query('select * from site');
    //如果不存在,则创建表
    if($qry ==false){
    $conn->exec('create table mysite(name VARCHAR(30),url VARCHAR(50))');
    }
    // 准备存入数据
    $insert = $conn->prepare("INSERT into mysite VALUES(?,?)");
    // 存入数据
    $insert->execute(array('julabs','julabe.com'));
    $insert->execute(array('google','www.google.com'));
}
/**
 * 删除数据
*/
function deleteSqlite($conn){
	$conn->exec("DELETE FROM mysite WHERE name = 'google'");
}

/**
 * 更新数据
*/
function updateSqlite($conn){
	$conn->exec("UPDATE mysite set url='julabs.me' WHERE name = 'julabs'");
}

/**
 * 显示数据
*/
function showSqlite($conn){
    $sth = $conn->prepare("SELECT * FROM mysite");
    $sth->execute();
    $result = $sth->fetchAll(PDO::FETCH_ASSOC);
    echo '<br />共有<strong>' . count($result) . '</strong>条数据<br />';
    echo '<table>';
    echo '<tr><th>名称</th><th>地址</th></tr>';
    foreach($result as $row){
        echo '<tr>';
        foreach($row as $key => $val){
            echo '<td>';
            echo $val;
            echo '</td>';
        }
    	echo '</tr>';
    }
    echo '</table>';
}

$connect = connectSqlite();
insertSqlite($connect);
showSqlite($connect);
updateSqlite($connect);
showSqlite($connect);
deleteSqlite($connect);
showSqlite($connect);
$connect = NULL;

此条目发表在 php 分类目录,贴了 , 标签。将固定链接加入收藏夹。

用php操作sqlite3》有 5 条评论

  1. Pingback 引用通告: NetTuts上的PHP操作SQLite代码 | 潔靜精微

  2. wood box 说:

    刚开始学习sqlite,你的文章很有帮助,谢谢~

  3. admin 说:

    呵呵,不客气:)

  4. weiweiok 说:

    PHP5.3已经支持SQLite3了

  5. admin 说:

    哈哈,谢谢提醒。

发表评论

电子邮件地址不会被公开。 必填项已被标记为 *

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>