English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
С PHP 5.3.0 расширение SQLite3 включено по умолчанию. Его можно включить в время компиляции с помощью --without-sqlite3 Отключить расширение SQLite3.
Пользователи Windows должны включить php_sqlite3.dll, чтобы использовать это расширение. С PHP 5.3.0 DLL включена в дистрибутив Windows PHP.
Для получения более详细的安装 инструкций рекомендуется просмотреть наши руководства PHP и его официальной веб-сайт.
Ниже приведены важные программы PHP, которые могут удовлетворить ваши потребности в использовании базы данных SQLite в программах PHP. Если вам нужно больше информации, пожалуйста, обратитесь к официальной документации PHP.
Номер | API и описание |
---|---|
1 | public void SQLite3::open (filename, flags, encryption_key ) открывает базу данных SQLite 3. Если в構築中 включен шифр, он будет пытаться использовать ключ шифрования. Если имя файла filename Назначьте значение ':memory:'Если это так, SQLite3::open() создаст базу данных в RAM, и она будет существовать только в течение времени сессии. Если имя файла filename соответствует фактическому имени устройства, SQLite3::open() будет пытаться открыть файл базы данных с этим значением параметра. Если файла с таким именем не существует, будет создана новая база данных с этим именем. Опциональные флаги используются для определения того, открывается ли SQLite-база данных. По умолчанию открывается при использовании SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE. |
2 | public bool SQLite3::exec ( string $query ) Эта функция предоставляет быстрый способ выполнения SQL-команды, которая предоставляется параметром sql. Команда может состоять из нескольких SQL-команд. Эта программа используется для выполнения безвозвратного запроса к заданной базе данных. |
3 | public SQLite3Result SQLite3::query ( string $query ) Эта функция выполняет SQL-запрос и возвращает объект SQLite3Result, если запрос возвращает результат. SQLite3Result Объект. |
4 | public int SQLite3::lastErrorCode ( void ) Эта функция возвращает числовой код результата последнего失败的 SQLite-запроса. |
5 | public string SQLite3::lastErrorMsg ( void ) Эта функция возвращает текстовое описание на английском языке последнего失败的 SQLite-запроса. |
6 | public int SQLite3::changes ( void ) Эта функция возвращает количество строк базы данных, обновленных или вставленных или удаленных в последнем SQL-запросе. |
7 | public bool SQLite3::close ( void ) Эта функция закрывает соединение с базой данных, открытое с помощью SQLite3::open(). |
8 | public string SQLite3::escapeString ( string $value ) Эта функция возвращает строку, в которой для безопасности SQL-запрос был правильно экранирован. |
Ниже приведен пример PHP-кода, показывающий, как подключиться к существующей базе данных. Если база данных не существует, она будет создана, и в конце вернется объект базы данных.
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "База данных успешно открыта\n"; } ?>
Теперь давайте запустим上面的 программу и создадим нашу базу данных в текущем каталоге test.dbВы можете изменить путь по своему усмотрению. Если база данных успешно создана, то будет отображено следующее сообщение:
База данных успешно открыта
Ниже приведен PHP-код, который будет использоваться для создания таблицы в созданной ранее базе данных:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "База данных успешно открыта\n"; } $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; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo "Таблица успешно создана\n"; } $db->close(); ?>
Во время выполнения программы она создаст test.db Создайте таблицу COMPANY и отобразите следующее сообщение:
База данных успешно открыта Таблица успешно создана
Ниже приведен PHP-код, который демонстрирует, как создать записи в созданной ранее таблице COMPANY:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "База данных успешно открыта\n"; } $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; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo "Записи успешно созданы\n"; } $db->close(); ?>
Во время выполнения программы она создаст указанные записи в таблице COMPANY и отобразит следующие строки:
База данных успешно открыта Записи успешно созданы
Ниже приведен PHP-код, который демонстрирует, как получить и отобразить записи из созданной ранее таблицы COMPANY:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "База данных успешно открыта\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ИД = ". $row['ID'] . "\n"; echo "ИМЯ = ". $row['NAME'] ."\n"; echo "АДРЕС = ". $row['ADDRESS'] ."\n"; echo "ЗАРАБОТНАЯ ПЛАТА = ". $row['SALARY'] ."\n\n"; } echo "Операция выполнена успешно\n"; $db->close(); ?>
Во время выполнения вышеуказанной программы она generates следующие результаты:
База данных успешно открыта ID = 1 NAME = Paul ADDRESS = California СALARY = 20000 ИД = 2 ИМЯ = Аллен АДРЕС = Техас ЗАРАБОТНАЯ ПЛАТА = 15000 ID = 3 NAME = Teddy ADDRESS = Norway СALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond СALARY = 65000 Операция выполнена успешно
Ниже приведен PHP-код, который демонстрирует, как использовать оператор UPDATE для обновления любой записи и затем получение и отображение обновленной записи из таблицы COMPANY:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "База данных успешно открыта\n"; } $sql =<<<EOF UPDATE COMPANY set ЗАРАБОТНАЯ ПЛАТА = 25000.00 where ИД=1; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " Запись успешно обновлена\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ИД = ". $row['ID'] . "\n"; echo "ИМЯ = ". $row['NAME'] ."\n"; echo "АДРЕС = ". $row['ADDRESS'] ."\n"; echo "ЗАРАБОТНАЯ ПЛАТА = ". $row['SALARY'] ."\n\n"; } echo "Операция выполнена успешно\n"; $db->close(); ?>
Во время выполнения вышеуказанной программы она generates следующие результаты:
База данных успешно открыта 1 Запись успешно обновлена ID = 1 NAME = Paul ADDRESS = California СALARY = 25000 ИД = 2 ИМЯ = Аллен АДРЕС = Техас ЗАРАБОТНАЯ ПЛАТА = 15000 ID = 3 NAME = Teddy ADDRESS = Norway СALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond СALARY = 65000 Операция выполнена успешно
Ниже приведен PHP-код, который показывает, как использовать оператор DELETE для удаления любой записи и затем получить и отобразить оставшиеся записи из таблицы COMPANY:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "База данных успешно открыта\n"; } $sql =<<<EOF DELETE from COMPANY where ID=2; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " Запись успешно удалена\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ИД = ". $row['ID'] . "\n"; echo "ИМЯ = ". $row['NAME'] ."\n"; echo "АДРЕС = ". $row['ADDRESS'] ."\n"; echo "ЗАРАБОТНАЯ ПЛАТА = ". $row['SALARY'] ."\n\n"; } echo "Операция выполнена успешно\n"; $db->close(); ?>
Во время выполнения вышеуказанной программы она generates следующие результаты:
База данных успешно открыта 1 Запись успешно удалена ID = 1 NAME = Paul ADDRESS = California СALARY = 25000 ID = 3 NAME = Teddy ADDRESS = Norway СALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond СALARY = 65000 Операция выполнена успешно