使用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文件中有些东西。我更换了它,最后它工作了!谢谢大家!