Создана ли база данных sqlite на сервере и на клиентском устройстве?

Я недавно обновил файлы моего веб-сайта до своего сервера. Но моя база данных sqlite была создана на сервере, но я хотел, чтобы она была на устройстве посетителя. Я думал, что sqlite был использован для автономных целей для веб-сайтов, я немного запутался, плз, помогите мне


Мой сценарий:

class MyDB extends SQLite3 {
function __construct() {
$this->open('mysqlitedb.db');
}
}

$db = new MyDB();

Он создан на моем сервере, а не на устройстве

0

Решение

Вы можете иметь свою базу данных на клиентском устройстве или на стороне сервера, или даже в обоих местах. Это действительно зависит от вашего требования. Если каждое из ваших устройств хочет хранить свои собственные данные на устройстве, достаточно иметь БД на клиентском устройстве. Если вы хотите иметь централизованное расположение для хранения всех ваших данных, вы можете обратиться к БД, расположенной на вашем сервере.

Sq-lite — это легковесная СУБД, которая в основном используется в качестве клиентской СУБД и не рекомендуется использовать в качестве реализации на стороне сервера.


А также, Firefox не поддерживает базу данных SQLite (на веб-страницах). И это больше не является частью спецификации HTML5. IndexedDB — это стандартизированная база данных: http://www.w3.org/TR/IndexedDB/ Над этим работают Mozilla, Chrome и другие.


Кодирование, которое у вас есть, написано на PHP, который является серверным языком, и он будет выполнять и выполнять все свои задачи на сервере, включая создание БД.


Я рекомендую вам использовать IndexedDB поверх SQ-Lite и использовать JavaScript для его обработки.

бывший

var todoDB = (function() {
var tDB = {};
var datastore = null;

// TODO: Add methods for interacting with the database here.

// Export the tDB object.
return tDB;
}());

/**
* Open a connection to the datastore.
*/
tDB.open = function(callback) {
// Database version.
var version = 1;

// Open a connection to the datastore.
var request = indexedDB.open('todos', version);

// Handle datastore upgrades.
request.onupgradeneeded = function(e) {
var db = e.target.result;

e.target.transaction.onerror = tDB.onerror;

// Delete the old datastore.
if (db.objectStoreNames.contains('todo')) {
db.deleteObjectStore('todo');
}

// Create a new datastore.
var store = db.createObjectStore('todo', {
keyPath: 'timestamp'
});
};

// Handle successful datastore access.
request.onsuccess = function(e) {
// Get a reference to the DB.
datastore = e.target.result;

// Execute the callback.
callback();
};

// Handle errors when opening the datastore.
request.onerror = tDB.onerror;
};
0

Другие решения

SQlite — это не настоящая СУБД, а отдельный файл. Таким образом, вы не можете подключиться удаленно, как с базами данных MySQL и PostgreSQL. Кроме того, SQlite не является базой данных в том смысле, что поддерживает транзакции и типы данных. Если вам нужен сервер базы данных для подключения и хранения данных в одном месте, вам следует заменить SQlite.

0

По вопросам рекламы [email protected]