php操作sqlite

Posted andylauren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php操作sqlite相关的知识,希望对你有一定的参考价值。

<?php
class MyDB extends SQLite3
{
    function __construct()
    {
        $this->open('test.db');
    }
}
$db = opensql();

tablesql($db);

insertsql($db);

selectsql($db);

updatesql($db);

selectsql($db);

deletesql($db);
$db->close();

function opensql()
{
    $db = new MyDB();
    if(!$db){
        echo $db->lastErrorMsg();
    } else {
        echo "Opened database successfully<br>";
    }
    return $db;
}

function tablesql($db)
{
    $sql =<<<EOF
    CREATE TABLE COMPANY
    (ID        INTEGER    PRIMARY KEY,
    DATE       DATETIME   NOT NULL,
    TEMP       REAL       NOT NULL,
    HUMIDITY   REAL,
    REMARK     TEXT);
EOF;

    $ret = $db->exec($sql);
    if(!$ret){
        echo $db->lastErrorMsg();
    } else {
        echo "Table created successfully<br>";
    }
}

function insertsql($db)
{
    $sql =<<<EOF
    INSERT INTO COMPANY (DATE,TEMP,HUMIDITY)
    VALUES ("2021-9-3 16:33:00", 25.6, 55.7);

    INSERT INTO COMPANY (DATE,TEMP,HUMIDITY)
    VALUES ("2021-9-3 16:34:00", 25.3, 55.5);

    INSERT INTO COMPANY (DATE,TEMP,HUMIDITY)
    VALUES ("2021-9-3 16:35:00", 25.3, 53.7);
EOF;

    $ret = $db->exec($sql);
    if(!$ret){
        echo $db->lastErrorMsg();
    } else {
        echo "Records created successfully<br>";
    }
}

function selectsql($db)
{
    $sql = "SELECT * from COMPANY;";
    $ret = $db->query($sql);
    while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
        echo "ID = ". $row['ID'] ."  ";
        echo "DATE = ". $row['DATE'] ."  ";
        echo "TEMP = ". $row['TEMP'] ."  ";
        echo "HUMIDITY =  ".$row['HUMIDITY'] ."<br>";
    }
    echo "Operation done successfully<br>";
}

function updatesql($db)
{
    $sql = "UPDATE COMPANY set TEMP = 23.7 where DATE='2021-9-3 16:35:00';";
    $ret = $db->exec($sql);
    if(!$ret){
        echo $db->lastErrorMsg();
    } else {
        echo $db->changes(), " Record updated successfully<br>";
    }
}

function deletesql($db)
{
    $sql = "DELETE from COMPANY where ID=2;";
    $ret = $db->exec($sql);
    if(!$ret){
        echo $db->lastErrorMsg();
    } else {
        echo $db->changes(), " Record updated successfully<br>";
    }
}
?>

参考:

https://www.runoob.com/sqlite/sqlite-php.html

https://www.php.net/manual/zh/book.sqlite3.php

 

以上是关于php操作sqlite的主要内容,如果未能解决你的问题,请参考以下文章

使用片段从数据库 SQLite 获取数据时出错

java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段

SQLite 片段函数实现不会在 TextView 中将文本格式化为 HTML

当我从用户获取数据并将其保存到 SQLite 数据库中时,我应该怎么做才能使列表视图在片段中工作

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段