php


How can I use and access an SQLite DB using PHP and Wamp Server?


I know PHP 5 already supports SQLite but for some reason I can't get it to work.
I followed the instructions from SQLite tutorial: Getting started. I also made sure that the following are not commented out from php.ini:
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll.
But when I open the PHP file from localhost using Firefox, I get this error:
Fatal error: Class 'SQLiteDatabase' not found.
I'm on Windows by the way, if that info matters.
What may be the cause of this problem?
I think the class SQLiteDatabase is from the extension sqlite rather pdo_sqlite. So you could enable the sqlite extension, or use PDO instead:
<?php
$conn = new PDO('sqlite:c:/mydb.sq3');
$conn->exec('some sql query');
On Windows you need to have the following set in your ini:
extension=php_pdo.dll
extension=php_sqlite.dll
I recommend you read this page in the manual.
Class SQLiteDatabase is an object from sqlite library, which support was dropped in PHP 5.4, but on various systems and configuration could be disabled in an earlier releases, as this library was long time marked as going to be deprecated.
Library php_sqlite.dll (Windows) or php_sqlite.so (Linux) is no longer supported in newer versions of PHP and was replaced with php_sqlite3.dll or php_sqlite3.so respectively.
You can:
Try to find php_sqlite.dll (php_sqlite.so) somewhere in the Internet. Links like this or this may be helpful for you. However, you'll have to carefully match old SQLite library file to your PHP's platform (x64 or x86), build engine (VC6, VC9 or VC11), version (5.x) and type (TS for thread safe or NTS for non-thread safe). This might be a hard task.
Leave php_sqlite.dll (SQLiteDatabase) behind and ship toward new php_sqlite3.dll (SQLite3 object). You have to first use a tool like SQLite Studio to convert your database file from 2.1 to 3.0 (size can be lowered by even a half) and then carefully compare SQLite and SQLite3 PHP manual pages to change necessary objects and functions call.
If option two, note that this shouldn't be a hard work, as changes aren't that big. For example, what I've learned so far:
SQLiteDatabase -> SQLite3,
SQLiteDatabase::unbufferedQuery -> SQLite3::query,
SQLiteResult::fetchAll(SQLITE_*) -> SQLite3Result::fetchArray(SQLITE3_*) etc.
As for fetching, in old SQLite we had:
$rowsIMEI = $db->unbufferedQuery($imeiSQL)->fetchAll(SQLITE_ASSOC);
foreach($rowsIMEI as $r)
{
...
}
While, in new SQLite3 we should:
$rowsIMEI = $db->query($imeiSQL);
while($r = $rowsIMEI->fetchArray(SQLITE3_ASSOC))
{
...
}
Other changes requires similar amount of work, so this shouldn't be a life-time process.
I, of course, strongly advice anyone to go forward and choose second option. Progress is in most cases the better one of two available options.

Related Links

Why does Symfony2 logs file specify a different time than the server time?
Link id's between two mysql tables [closed]
Is there anything to help me create a sortable table (with search filters)?
access denied for wordpress on a local xampp
Symfony2 routing with prefix bug
Include path reset/ignored after logrotate restart
read json object in php
How can I search only for parts of values inside the mysql database?
Extract value from between quotes with regex
Php form - Add redirect as well as a opt in box
Failed to connect to graph.facebook.com port 443: Connection refused
How to display json_encode value in html?
PHP Remove email addresses from comma separated string
Modify Laravel 5.2 Authentication
strtotime always returns 01-1-1970
curl long execution time on one server

Categories

HOME
ionic2
flask
orientdb
events
knockout.js
d3.js
paypal-ipn
transactions
add-on
whmcs
yql
jint
mithril.js
gprs
pyresttest
polymer-2.x
lda
sonata
xbox360
mahout-recommender
global-variables
vertica
fosuserbundle
wsf
android-permissions
coreldraw
maven-surefire-plugin
candlestick-chart
npoi
toad
windows2012
seafile-server
advanced-filter
image-optimization
char-pointer
landscape
stat
flipkart
yoast
web-inspector
common-table-expression
cloudwatch
nonlinear-functions
ilrepack
hibernate-ogm
simple-schema
gtk#
emacs25
polymaps
cognos-tm1
xcode6.4
spring-mongo
coovachilli
between
oci
meld
vaadin4spring
ajax4jsf
smart-tv
dnx50
extend
alwayson
ipod
python-curses
pass-by-value
fat32
cout
ecos
full-text-indexing
squeezebox
jini
forio-contour
rails-api
jms-serializer
mft
node.js-stream
xmlwriter
daap
spark-view-engine
workflow-manager-1.x
image-formats
platform-independent
groovy-console
asp.net-mvc-views
pinax
reliability
browser-based
mysqli-multi-query
prism-2
activex-exe
service-factory
rootkit

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App