I'm trying to test SQLite on my winXP apache server by executing a php file 'testSqlite.php5' script inside it is the following:

<?php

//create table
if(file_exists("test.db")) {
	$weNeedToCreateTheDatabase = false;
} else {
	$weNeedToCreateTheDatabase = true;

}

//create or open database
$db = sqlite_open("test.db") or die("failed to open/create the database");

//create table
if($weNeedToCreateTheDatabase) {
	sqlite_query($db, "CREATE TABLE Members(FirstName,LastName)");
}

//add info
sqlite_query($db,"INSERT INTO Members VALUES ('Jim', 'Rockerton')");

//get info
$dt = sqlite_query($db, "SELECT * FROM Members");
while ($row = sqlite_fetch_array($dt)) {
echo "row: $row[FirstName] $row[LastName]<br/>";
}

//close database
sqlite_close($db);

?>

However, some peopl including myself have experienced an error
'Fatal error: Call to undefined function sqlite_open() in c:\webs\test\testSqlite.php5 on line 13'

Some people managed to fix it by reading this article http://bugs.php.net/bug.php?id=35345&edit=3 but i don't understand it very well as i'm very newbee.

Could someone explain me what exactly I have to do to solve this problem?

part of my php.ini file
;extension=php_mbstring.dll
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_mysql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_pdo.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll

Some ppls Solutions

Stud: to fix this problem copy extension=php_pdo.dll to c:\php. Then simply copy extension=php_sqlite.dll to c:\php. Edit php.ini, add the two extentions. extension=php_pdo.dll MUST be above extension=php_sqlite.dll Hope that helps. Worked for me. Yahhhhhhhhhhhhhhhhh

Linus: I was getting the same error, now got it OK. In php.ini add extension=php_pdo.dll and uncomment extension=php_sqlite.dll

THANK YOU.

    That fix looks more like looks more like if you wanted to use the PDO interface to sqlite. Try running a [man]phpinfo/man page, and see if you have sqlite support. It should be enabled by default in php5.

    Windows installs always seem to have dramas. Ive never had a problem on Linux because Im in control of everything.

      It appears you havent uncommented the extensions. Change this...

      ;extension=php_pdo.dll
      ;extension=php_sqlite.dll
      

      to...

      extension=php_pdo.dll
      extension=php_sqlite.dll
      

        thorp, thanks. i didn't mean to ignore your post at all. I thought i would get more help in the other forums.

          just tried

          extension=php_pdo.dll
          extension=php_sqlite.dll
          
          [b]Fix:[/b]
          ...
          ;extension=php_sockets.dll
          extension=php_pdo.dll
          extension=php_sqlite.dll
          ;extension=php_sybase_ct.dll
          ;extension=php_tidy.dll
          ...
          

          problem solved* you earned my respect. thanks.

          bpat1434 wrote:

          Umm... you have to enable an extension if you wish to use it:

          ;extension=php_sqlite.dll

          should be

          extension=php_sqlite.dll

          ~Brett

          also thanks to brett.

            Write a Reply...