【问题标题】:Can we use web SQL local database with PHP?我们可以将 Web SQL 本地数据库与 PHP 一起使用吗?
【发布时间】:2015-05-14 06:06:05
【问题描述】:

我正在使用带有 JavaScript 的 Web SQL 本地数据库创建一个离线应用程序。

当那时没有连接互联网时,所有条目将被插入到本地数据库 web SQL 中。

但是当我连接到互联网时,Web SQL 本地数据库将与实时数据库同步,并且将自动插入实时数据库中不可用的本地数据库的新条目。

稍后这个应用会部署在Phonegap中。

这是本地数据库的代码(SQL 事务)

打开数据库:

var db = openDatabase('retaurant', '1.0', 'Test DB', 2 * 1024 * 1024);

新建表并向表中插入数据:

var username = "Test";
var password = "test";
db.transaction(function (tx) {
    tx.executeSql('CREATE TABLE IF NOT EXISTS user (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT , username,password)');
    tx.executeSql('INSERT INTO user (username,password) VALUES ("'+username+'","'+password+'")');
});

从数据库中删除条目

db.transaction(function (tx) {
     tx.executeSql("DELETE FROM user WHERE id=?", [id],
     function (tx, results) {    });
});

此代码用于本地,现在如何使用 PHP 将此数据库与实时数据库同步?

【问题讨论】:

    标签: javascript php mysql cordova web-sql


    【解决方案1】:

    你不能从 PHP 访问本地数据库,你只能使用 javascript。

    我认为您在本地数据库中存储总项目,或本地数据库中所有项目的 last_id。

    在加载的页面上,使用 ajax 比较本地 DB 和 Live DB 的总数。然后从 Live DB 加载新项目并插入到本地 DB。或清除所有本地数据库并从 Live DB 加载所有项目。

    希望能帮到你!

    【讨论】:

    • 这可以通过简单的ajax和php和javascript来完成对吧?
    【解决方案2】:

    我的 2 美分:首先,WebSQL API 已被弃用,那么您为什么考虑使用相同的 API?最好使用LocalForageYdnDBLawnChair 等适配器,这将隐藏底层数据库 API(WebSQL 或 IndexedDB)。 IndexedDB 规范已取代 WebSQL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 2019-08-23
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多