我已尝试使用PHP PDO连接数据库。我有很多样品,我不确定是什么问题。
下面是我的代码
<?php
try
{
// $db = new PDO('sqlite:sampleDB.db3');
// $db = new SQLiteDatabase('sampleDB.sqlite', 0666, $error);
$db = new PDO('sqlite:sampleDB.sqlite');
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
我已经尝试了很多方法来打开连接。请告诉我正确的方法......
答案 0 :(得分:5)
我放弃了PDO驱动程序,并且出于同样的原因使用了sqlite3模块。
使用sqlite3模块:
class DB extends SQLite3
{
function __construct( $file )
{
$this->open( $file );
}
}
$db = new DB( 'sampleDB.sqlite' );
我知道这不是解决问题的方法,但如果没有其他方法可行,这可能会有用。
答案 1 :(得分:1)
首先,您需要确保已将PHP配置为连接到SQLite - 使用phpinfo()
进行检查并确保已启用SQLite支持。
接下来,在尝试连接和查询SQLite数据库时,您将需要使用正确的语法。按照PHP Manual for sqllite例如
<?php
if ($db = sqlite_open('sampleDB', 0666, $sqliteerror) ) {
$result = sqlite_query($db, 'select bar from foo');
var_dump(sqlite_fetch_array($result) );
} else {
die($sqliteerror);
}
?>
答案 2 :(得分:1)
sql文件所在的目录应该是服务器可写的。尝试为SQLite创建单独的目录并为其提供适当的访问权限。在Unix中,您可以通过运行chmod 777 dirname
来实现。另外,将您的DSN修改为'sqlite:dirname/sampleDB.sqlite'
。