<?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();
?>