Latest web development tutorials

SQLite - PHP

устанавливать

Начиная с PHP 5.3.0, начиная расширение SQLite3 включена по умолчанию. Вы можете отключить SQLite3 расширенное использование--without-sqlite3 во время компиляции.

Пользователям Windows, необходимо включить php_sqlite3.dll использовать это расширение. Начиная с PHP 5.3.0 и далее, эта DLL включена в дистрибутив PHP для Windows.

Подробные инструкции по установке см рекомендацию PHP учебник и его официальный сайт.

PHP интерфейс API

Ниже приведены важная программа PHP для удовлетворения ваших потребностей с использованием SQLite базы данных в PHP программе. Если вам нужно больше информации, обратитесь к официальной документации PHP.

序号API & 描述
1public void SQLite3::open ( filename, flags, encryption_key )

打开一个 SQLite 3 数据库。如果构建包括加密,那么它将尝试使用的密钥。

如果文件名filename赋值为':memory:',那么 SQLite3::open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。

如果文件名 filename 为实际的设备文件名称,那么 SQLite3::open() 将使用这个参数值尝试打开数据库文件。如果该名称的文件不存在,那么将创建一个新的命名为该名称的数据库文件。

可选的 flags 用于判断是否打开 SQLite 数据库。默认情况下,当使用 SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE 时打开。

2public bool SQLite3::exec ( string $query )

该例程提供了一个执行 SQL 命令的快捷方式,SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。该程序用于对给定的数据库执行一个无结果的查询。

3public SQLite3Result SQLite3::query ( string $query )

该例程执行一个 SQL 查询,如果查询到返回结果则返回一个SQLite3Result对象。

4public int SQLite3::lastErrorCode ( void )

该例程返回最近一次失败的 SQLite 请求的数值结果代码。

5public string SQLite3::lastErrorMsg ( void )

该例程返回最近一次失败的 SQLite 请求的英语文本描述。

6public int SQLite3::changes ( void )

该例程返回最近一次的 SQL 语句更新或插入或删除的数据库行数。

7public bool SQLite3::close ( void )

该例程关闭之前调用 SQLite3::open() 打开的数据库连接。

8public string SQLite3::escapeString ( string $value )

该例程返回一个字符串,在 SQL 语句中,出于安全考虑,该字符串已被正确地转义。

Подключение к базе данных

Следующий код PHP показывает, как подключиться к существующей базе данных. Если база данных не существует, он будет создан, и, наконец, возвращает объект базы данных.

<? Php
   Класс MyDB расширяет SQLite3
   {
      Функция __construct ()
      {
         $ This-> открытая ( 'test.db');
      }
   }
   $ Db = новый MyDB ();
   если (! $ дБ) {
      Эхо $ db-> lastErrorMsg ();
   } Else {
      эхо "Открытая база данных успешно \ п";
   }
?>

Теперь, давайте выполним эту программу, создать нашуtest.db базу данных в текущем каталоге.Вы можете изменить путь по мере необходимости. Если база данных успешно создана, она будет отображаться сообщение, показанное ниже:

Открытая база данных успешно

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

Следующий фрагмент кода PHP будет использоваться для создания таблицы в базе данных ранее созданного:

<? Php
   Класс MyDB расширяет SQLite3
   {
      Функция __construct ()
      {
         $ This-> открытая ( 'test.db');
      }
   }
   $ Db = новый MyDB ();
   если (! $ дБ) {
      Эхо $ db-> lastErrorMsg ();
   } Else {
      эхо "Открытая база данных успешно \ п";
   }

   $ Sql ​​= <<< EOF
      CREATE TABLE COMPANY
      (ID INT PRIMARY KEY NOT NULL,
      NAME TEXT NOT NULL,
      AGE INT NOT NULL,
      АДРЕС CHAR (50),
      ЗАРПЛАТА REAL);
EOF;

   $ Ret = $ db-> Exec ($ SQL);
   если (! $ RET) {
      Эхо $ db-> lastErrorMsg ();
   } Else {
      эхо "Таблица успешно создана \ п";
   }
   $ Db-> близко ();
?>

Когда описанная выше процедура, она создает таблицу компанию вtest.db и выводит сообщение , показанное ниже:

Открытая база данных успешно
Таблица успешно создана

операции ВСТАВИТЬ

Следующая программа PHP показывает, как создать запись в таблице компании, созданной выше:

<? Php
   Класс MyDB расширяет SQLite3
   {
      Функция __construct ()
      {
         $ This-> открытая ( 'test.db');
      }
   }
   $ Db = новый MyDB ();
   если (! $ дБ) {
      Эхо $ db-> lastErrorMsg ();
   } Else {
      эхо "Открытая база данных успешно \ п";
   }

   $ Sql ​​= <<< EOF
      INSERT INTO COMPANY (ID, имя, отчество, возраст, адрес, ЗАРПЛАТА)
      VALUES (1, 'Paul', 32, 'Калифорния', 20000.00);

      INSERT INTO COMPANY (ID, имя, отчество, возраст, адрес, ЗАРПЛАТА)
      VALUES (2, 'Аллен', 25, 'Texas', 15000.00);

      INSERT INTO COMPANY (ID, имя, отчество, возраст, адрес, ЗАРПЛАТА)
      ЗНАЧЕНИЯ (3, 'Teddy', 23 'Норвегия', 20000.00);

      INSERT INTO COMPANY (ID, имя, отчество, возраст, адрес, ЗАРПЛАТА)
      ЗНАЧЕНИЯ (4, 'Марк', 25 'Rich-Mond', 65000.00);
EOF;

   $ Ret = $ db-> Exec ($ SQL);
   если (! $ RET) {
      Эхо $ db-> lastErrorMsg ();
   } Else {
      эхо "Записи, созданные успешно \ N";
   }
   $ Db-> близко ();
?>

Выше программа выполнена, она будет создана в таблице компания для данной записи, и отображает следующие две строки:

Открытая база данных успешно
Записи успешно создана

выбирать операции

Следующая программа PHP показывает, как получить из таблицы компании, созданной ранее и отображает запись:

<? Php
   Класс MyDB расширяет SQLite3
   {
      Функция __construct ()
      {
         $ This-> открытая ( 'test.db');
      }
   }
   $ Db = новый MyDB ();
   если (! $ дБ) {
      Эхо $ db-> lastErrorMsg ();
   } Else {
      эхо "Открытая база данных успешно \ п";
   }

   $ Sql ​​= <<< EOF
      SELECT * от компании;
EOF;

   $ Ret = $ db-> запрос ($ SQL);
   в то время как ($ строки = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . Эхо "ID =" $ строки [ 'ID'] "\ п" .;
      . Эхо "NAME =" $ строка [ "NAME"] "\ п" .;
      . Эхо "АДРЕС =" $ строка [ 'АДРЕС'] "\ п" .;
      . Эхо "ЗАРПЛАТА =" $ строки [ 'ЗАРПЛАТА'] "\ п \ п" .;
   }
   эхо "Операция успешно сделано \ п";
   $ Db-> близко ();
?>

Когда выше программа выполнена, она будет производить следующие результаты:

Открытая база данных успешно
ID = 1
NAME = Paul
АДРЕС = California
ЗАРПЛАТА = 20000

ID = 2
NAME = Allen
АДРЕС = Texas
ЗАРПЛАТА = 15000

ID = 3
NAME = Teddy
АДРЕС = Норвегия
ЗАРПЛАТА = 20000

ID = 4
NAME = Mark
АДРЕС = Rich-Mond
ЗАРПЛАТА = 65000

Операция успешно сделано

операция UPDATE

Следующий код PHP показывает, как использовать оператор UPDATE, чтобы обновить все записи, а затем получить из таблицы COMPANY и отображать обновленную запись:

<? Php
   Класс MyDB расширяет SQLite3
   {
      Функция __construct ()
      {
         $ This-> открытая ( 'test.db');
      }
   }
   $ Db = новый MyDB ();
   если (! $ дБ) {
      Эхо $ db-> lastErrorMsg ();
   } Else {
      эхо "Открытая база данных успешно \ п";
   }
   $ Sql ​​= <<< EOF
      UPDATE КОМПАНИЯ установить ЗАРПЛАТУ = 25000.00, где ID = 1;
EOF;
   $ Ret = $ db-> Exec ($ SQL);
   если (! $ RET) {
      Эхо $ db-> lastErrorMsg ();
   } Else {
      Эхо $ db-> изменения (), "Запись успешно обновлена ​​\ п";
   }

   $ Sql ​​= <<< EOF
      SELECT * от компании;
EOF;
   $ Ret = $ db-> запрос ($ SQL);
   в то время как ($ строки = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . Эхо "ID =" $ строки [ 'ID'] "\ п" .;
      . Эхо "NAME =" $ строка [ "NAME"] "\ п" .;
      . Эхо "АДРЕС =" $ строка [ 'АДРЕС'] "\ п" .;
      . Эхо "ЗАРПЛАТА =" $ строки [ 'ЗАРПЛАТА'] "\ п \ п" .;
   }
   эхо "Операция успешно сделано \ п";
   $ Db-> близко ();
?>

Когда выше программа выполнена, она будет производить следующие результаты:

Открытая база данных успешно
1 Запись успешно обновлена
ID = 1
NAME = Paul
АДРЕС = California
ЗАРПЛАТА = 25000

ID = 2
NAME = Allen
АДРЕС = Texas
ЗАРПЛАТА = 15000

ID = 3
NAME = Teddy
АДРЕС = Норвегия
ЗАРПЛАТА = 20000

ID = 4
NAME = Mark
АДРЕС = Rich-Mond
ЗАРПЛАТА = 65000

Операция успешно сделано

операция удаления

Следующий код PHP показывает, как использовать ВЕЬЕТЕ удаляет любые записи, а затем взяты из таблицы COMPANY и отображает оставшееся записи:

<? Php
   Класс MyDB расширяет SQLite3
   {
      Функция __construct ()
      {
         $ This-> открытая ( 'test.db');
      }
   }
   $ Db = новый MyDB ();
   если (! $ дБ) {
      Эхо $ db-> lastErrorMsg ();
   } Else {
      эхо "Открытая база данных успешно \ п";
   }
   $ Sql ​​= <<< EOF
      Удалить из компании, где ID = 2;
EOF;
   $ Ret = $ db-> Exec ($ SQL);
   если (! $ RET) {
     Эхо $ db-> lastErrorMsg ();
   } Else {
      Эхо $ db-> изменения (), "Запись удалена успешно \ п";
   }

   $ Sql ​​= <<< EOF
      SELECT * от компании;
EOF;
   $ Ret = $ db-> запрос ($ SQL);
   в то время как ($ строки = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . Эхо "ID =" $ строки [ 'ID'] "\ п" .;
      . Эхо "NAME =" $ строка [ "NAME"] "\ п" .;
      . Эхо "АДРЕС =" $ строка [ 'АДРЕС'] "\ п" .;
      . Эхо "ЗАРПЛАТА =" $ строки [ 'ЗАРПЛАТА'] "\ п \ п" .;
   }
   эхо "Операция успешно сделано \ п";
   $ Db-> близко ();
?>

Когда выше программа выполнена, она будет производить следующие результаты:

Открытая база данных успешно
1 Запись успешно удалена
ID = 1
NAME = Paul
АДРЕС = California
ЗАРПЛАТА = 25000

ID = 3
NAME = Teddy
АДРЕС = Норвегия
ЗАРПЛАТА = 20000

ID = 4
NAME = Mark
АДРЕС = Rich-Mond
ЗАРПЛАТА = 65000

Операция успешно сделано