php操作sqlite3代码

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