使用netbeans连接sqlite和php

使用netbeans连接sqlite和php,php,sqlite,netbeans,Php,Sqlite,Netbeans,已更新 我的最新代码如下: $file ="sqlite:C:\New folder\\test.db"; echo $file; $handle = new PDO($file) or die("Could not open database"); $db ="C:\New folder\test.db"; Test to print my directory path of the database. echo $db; $handle = sqlite_open($db); //or d

已更新

我的最新代码如下:

$file ="sqlite:C:\New folder\\test.db";
echo $file;
$handle = new PDO($file) or die("Could not open database");
$db ="C:\New folder\test.db";
Test to print my directory path of the database.
echo $db;
$handle = sqlite_open($db); //or die("Could not open database");
错误

sqlite:C:\newfolder est.db 致命错误:在C:\inetpub\wwwroot\NetBeans\PHP和SQLITE.PHP:20堆栈跟踪:#0 C:\inetpub\wwwroot\NetBeans\PHP和SQLITE.PHP(20):PDO->u构造('SQLITE:C:\New f..)#1{main}在第20行的C:\inetpub\wwwroot\NetBeans\PHP和SQLITE.PHP中抛出

我正在尝试使用PDO驱动程序,但是错误不断提示我,当它在我的扩展php文件夹中时,无法找到驱动程序。我现在不知所措

我使用的是SQLITE版本3和PHP版本5.4.3


我已经将数据库文件放在我的r/w文件夹中,但它出现了致命错误:调用未定义的函数sqlite_open()。我已经在网上搜索了很多源代码,但是我的目录路径仍然返回一些奇怪的错误(如果我是第一次学习的话,请原谅)

我的代码如下:

$file ="sqlite:C:\New folder\\test.db";
echo $file;
$handle = new PDO($file) or die("Could not open database");
$db ="C:\New folder\test.db";
Test to print my directory path of the database.
echo $db;
$handle = sqlite_open($db); //or die("Could not open database");
调试结果

C:\newfolder est.db
致命错误:在第18行的C:\inetpub\wwwroot\NetBeans\PHP&sqlite.PHP中调用未定义的函数sqlite\u open(),即“$handle=sqlite\u open($db);//或die(“无法打开数据库”);”

请告知我哪里做错了?我指定的路径是正确的,但当我打印出来时,它显示了错误的路径


谢谢

您遇到的一个问题是(无意中)您是一些path字符。

正如您的var_转储所示

C:\New folder est.db
将$db变量定义更改为

$db ="C:\New folder\\test.db";
或者只是将路径放在单引号中,这样PHP就不会尝试解析字符串

$db ='C:\New folder\test.db';
信不信由你,在大多数情况下,unix路径都可以工作:

$db ="C:/New folder/test.db";
至于问题的其余部分,您需要确保启用了sqlite 2。查看您的php信息,并查看您是否喜欢以下内容:

SQLite
SQLite support  enabled
PECL Module version     2.0-dev $Id: sqlite.c 306939 2011-01-01 02:19:59Z felipe $
SQLite Library  2.8.17
SQLite Encoding     iso8859 
如果没有,请在php.ini中确保

extension=php_sqlite.dll
未注释且存在(扩展文件夹中存在.dll)。

但是,大多数人会建议您使用for sqlite(以及任何其他数据库),因为它将在不同的数据库中提供更一致的范例(您可以对大多数数据库使用相同的代码)

[编辑]
我在网上找到了一些评论,可能会对你的问题有所帮助

似乎包含sqlite数据库的目录必须是 可由web服务器写入。仅将文件设为可写不会 工作

别忘了在中必须启用“extension=php_pdo_sqlite.dll” ini(如果使用xampp,则默认情况下将禁用)


若并没有定义函数,那个么PHP安装就并没有那个扩展。此外,请使用PDO。本指南介绍了安装:。正如teresko所说,这可能是您的问题。嗨,Rocky,我已经将扩展添加到我的php.ini中,它位于我的C:\Windows中。但是,当我添加该扩展时,fastcgimodule意外结束。从我读到的内容来看,我注意到PDO驱动程序应该自动启用。明白了。我下载的php文件中有些东西。我更换了它,最后它工作了!谢谢大家!