Создание и использование таблицы SQLite в PHP

Мы видели, как установить SQL и создать базу данных. Первым обязательным шагом для использования этой базы данных является создание таблицы, определяющей, какие поля данных будут составлять нашу базу данных.

Этот код обновляется для SQLite 3.

Создать таблицу

Таблица, которую мы создадим, будет основана на таблице «постов» Wordpress, в упрощенном варианте, но с теми же столбцами.

$dbname='base';
$mytable ="tablename";

if(!class_exists('SQLite3'))
  die("SQLite 3 NOT supported.");

$base=new SQLite3($dbname, 0666); 

$query = "CREATE TABLE $mytable(
            ID bigint(20) NOT NULL PRIMARY KEY,
            post_author bigint(20) NOT NULL,            
            post_date datetime,
            post_content longtext,
            post_title text,
            guid VARCHAR(255)            
            )";
            
$results = $base->exec($query);

SQL-запрос CREATE TABLE определяет столбцы. Он отправляется менеджеру SQLite методом queryExec (), который возвращает значение true или false в зависимости от того, успешно ли выполнена операция.

См. код сценария create-table.php.

Удалить таблицу

Стирание таблицы осуществляется командой SQL DROP TABLE.

$query = "DROP TABLE $mytable";
$results = $base->exec($query);

См. код delete-table.php.

Добавить билеты

Стол только что созданных нами билетов будет заполнен, как для Wordpress, вместе с купюрами, которые напишут, каждый билет соответствует одной строке стола.

Команда SQL: INSERT INTO позволяет вставить данные билета.

$number = 1;
$title="Mon dernier billet";
$content="Le texte de mon article...";
$date = strftime( "%b %d %Y %H:%M", time());
$author=1;
$url = "https://www.iqlevsha.ru/sql/tutoriel-sqlite.php";

$query = "INSERT INTO $mytable(ID, post_title, post_content, post_author, post_date, guid) 
                VALUES ('$number', '$title', '$content', '$author', '$date', '$url')";
$results = $base->exec($query);

Для нужд учебника мы помещаем содержимое билета прямо в переменные. На практике эти переменные будут назначаться из онлайн или локального текстового редактора, как показано в учебнике CMS.

Автор представлен номером 1, потому что Wordpress помещает имена не в таблицу сообщений, а в отдельную таблицу.

Столбец guid содержит URL-адрес записи, которая также служит уникальным идентификатором.

Команда INSERT имеет в качестве первого параметра имя таблицы и в скобках список соответствующих столбцов, а затем параметр VALUE предоставляет список значений, соответствующих столбцам, в том же порядке.
Таким образом, post_title, который содержит ценные бумаги, будет иметь значение $ title, переменной, которой присвоили название банкноты.

Для отправки запроса используется тот же метод queryExec.

Исходный код сценария sql lite-write.php.

Прочитать пост

Доступ к содержанию базы осуществляется с помощью команды SELECT.

$query = "SELECT post_title, post_content, post_author, post_date, guid FROM $mytable";
$results = $base->query($query);
$row = $results->fetchArray();

if(count($row)>0)
{
   $title = $row['post_title'];
   $content = $row['post_content']; 
   $user = $row['post_author'];
   $date = $row['post_date'];
   $url = $row['guid'];
}   

Команда SELECT предоставляет список столбцов, содержимое которых требуется, и строки будут присвоены таблице $ results. Метод arrayQuery PHP возвращает массив массивов, каждый из которых представляет строку таблицы.
На практике для ограничения потребления ресурсов будут использоваться другие заказы, которые можно увидеть позже.
Строка извлекается из ассоциативной таблицы $ arr с именами столбцов для ключей и содержимым для значений.

Исходный код сценария sql lite-read.php.

Загрузка