<?php
// 创建一个 SQLite3 类的对象
class MyDB extends SQLite3 {
function __construct() {
// 打开或创建一个数据库文件
$this->open('test.db');
}
}
// 实例化对象
$db = new MyDB();
// 检查是否成功打开数据库
if(!$db) {
echo $db->lastErrorMsg();
} else {
echo "Opened database successfully\n";
}
// 创建一个 SQL 语句,用于创建一个表
$sql =<<<EOF
CREATE TABLE COMPANY (
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
EOF;
// 执行 SQL 语句,无返回结果
$ret = $db->exec($sql);
// 检查是否成功执行
if(!$ret) {
echo $db->lastErrorMsg();
} else {
echo "Table created successfully\n";
}
// 创建一个 SQL 语句,用于插入一些数据
$sql =<<<EOF
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
EOF;
// 执行 SQL 语句,无返回结果
$ret = $db->exec($sql);
// 检查是否成功执行
if(!$ret) {
echo $db->lastErrorMsg();
} else {
echo "Records created successfully\n";
}
// 创建一个 SQL 语句,用于查询数据
$sql =<<<EOF
SELECT * from COMPANY;
EOF;
// 执行 SQL 语句,有返回结果
$ret = $db->query($sql);
// 遍历结果集,获取每一行数据
while($row = $ret->fetchArray(SQLITE3_ASSOC) ) {
echo "ID = ". $row['ID'] . "\n";
echo "NAME = ". $row['NAME'] ."\n";
echo "ADDRESS = ". $row['ADDRESS'] ."\n";
echo "SALARY = ".$row['SALARY'] ."\n\n";
}
// 显示操作成功的信息
echo "Operation done successfully\n";
// 关闭数据库连接
$db->close();
?>