Instead of compiling an old version of SQLite to create a database using an older database format that the version of SQLite bundled with PDO can handle, you can (much more easily) just run the query "PRAGMA legacy_file_format = TRUE;" BEFORE creating the database (if you have an existing database, run ".dump" from the sqlite shell on your database, run the sqlite shell on a new database, run the PRAGMA, then paste the contents of the .dump). That will ensure SQLite creates a database readable by SQLite 3.0 and later.SQLite PDO драјвер
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
SQLite PDO драјвер
Референца за `ref.pdo-sqlite.php` со подобрена типографија и навигација.
SQLite PDO драјвер (PDO_SQLITE)
Вовед
PDO_SQLITE е драјвер што го имплементира интерфејсот PHP Data Objects (PDO) за овозможување пристап до SQLite 3 бази на податоци.
Забелешка:
PDO_SQLITE дозволува користење низи одделно од стримови заедно со
PDO::PARAM_LOB.
Инсталација
PDO_SQLITE PDO драјверот е овозможен по дифолт. За да го оневозможите,
--without-pdo-sqlite[=DIR] може да се користи, каде што опционалното [=DIR] е основната директориум за инсталација на sqlite. Од PHP 7.4.0 » libsqlite ≥ 3.5.0 е потребно. Претходно, вклучениот libsqlite можеше да се користи наместо тоа, и беше стандардно, ако [=DIR] е изоставен.
Забелешка: Дополнително поставување на Windows од PHP 7.4.0
Забелешка за корисниците на Win32 DLL За да работи оваа екстензија, постојат PATHдатотеки што мора да бидат достапни за системот Windows FAQ . За информации за тоа како да го направите ова, видете гонасловен"Како да ја додадам мојата PHP директориум во PATH на Windows" PATH". Иако копирањето DLL датотеки од папката PHP во системската директориум на Windows исто така работи (бидејќи системската директориум по дифолт е во системската ), ова не се препорачува. PATH: libsqlite3.dll.
Содржина
- PDO_PGSQL DSN — Поврзување со SQLite бази на податоци
- PDO::sqliteCreateAggregate — Алијас на Pdo\Sqlite::createAggregate
- PDO::sqliteCreateCollation — Алијас на Pdo\Sqlite::createCollation
- PDO::sqliteCreateFunction — Алијас на Pdo\Sqlite::createFunction
Белешки од корисници 4 белешки
With PDO SQLite driver, calculation within an SQL with multiple ? may not get results as you expect.
<?php
// ....
$stmt = $PDO->prepare('SELECT * FROM `X` WHERE `TimeUpdated`+?>?');
$stmt->execute([3600, time()]);
$data = $stmt->fetchAll();
print_r($data);
?>
To get the right results, you have more than 3 solutions.
1. Change 'SELECT * FROM `X` WHERE `TimeUpdated`+?>?' to 'SELECT * FROM `X` WHERE `TimeUpdated`>?' and do the math using Php (ie: $stmt->execute([time()-3600]); ).
2. Use PdoStatement::bindParam or PdoStatement::bindValue, and set the parameter type to PDO::PARAM_INT.
3. Change 'SELECT * FROM `X` WHERE `TimeUpdated`+?>?' to 'SELECT * FROM `X` WHERE `TimeUpdated`+?>?+0', here '?+0' may be replaced by another math function or another calculation, such as 'abs(?)', you can even wrap both ? with a math calculation.If you receive an error while trying to write to a sqlite database (update, delete, drop):
Warning: PDO::query() [function.query]: SQLSTATE[HY000]: General error: 1 unable to open database
The folder that houses the database file must be writeable.Note that as of the date of this post, PDO_SQLITE will not interact with database files created with the current version of the SQLite console application, sqlite-3.3.6.
It is currently necessary to obtain version 3.2.8, available from http://www.sqlite.org/ but only by entering the URI manually, as there is no link. Go to http://www.sqlite.org/download.html and find the URI of the version you're looking for, then make the appropriate version number substitution.