使用PHP连接到SQLite - 无法连接

时间:2012-10-31 02:37:19

标签: php sqlite

我正在尝试使用PHP连接到SQLite。我通过将CSV文件导入到三个表的表中来创建数据库。但是,我无法使用以下代码进行连接:

$dbhandle = sqlite_open('db/pokedex.db', 0666, $error);
if(!$dbhandle) die ($error);

这会返回以下错误:

Warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a database in /pokedex/configpokedexdb-sqlite.php on line 12 file is encrypted or is not a database

谷歌告诉我,我的版本可能不匹配。尽管在我的phpinfo()中找到了一些SQLite3提及,我认为它可能仍然是一个问题所以我尝试了以下建议的代码:

try
{
    //connect to SQLite database

    $dbhandle = new PDO("sqlite:db/pokedex.db"); //sqlite:VPN0.sqlite
   // echo "Handle has been created ...... <br><br>";

}
catch(PDOException $e)
{
    echo $e->getMessage();
    echo "<br><br>Database -- NOT -- loaded successfully .. ";
    die( "<br><br>Query Closed !!! $error");
}

之后我收到以下错误:

Warning: sqlite_exec() expects parameter 1 to be resource, object given in /home/rawdco81/public_html/pokedex/index-sqlite.php on line 53

在此之前,我尝试运行new PDO("sqlite:VPN0.sqlite");这是该网站提供的内容,但这显然是错误的,因为它根本没有指向我的.db文件。您将在函数调用旁边的注释中看到这段代码。

我很难连接数据库......这样做的正确方法是什么?

另外,我正在运行PHP 5.2.13版。

已编辑:我在错误的位置粘贴了错误的错误消息。

1 个答案:

答案 0 :(得分:1)

现在我仔细看看..,我认为 在第二个代码段成功连接了!您不应该使用sqlite_exec串联w / PDO;这是SQLite的两个不同的PHP接口。

第一个代码被轰炸的原因是遗留库不支持PDO v3。一旦你尝试对我认为的sqlite_exec对象运行PDO,第二部分代码就会被轰炸。

我敢打赌,如果你在try / catch之后加上var_dump($dbhandle);,你会发现你已经有了一个初始化的PDO对象。

只是阅读使用PDO来运行查询,你应该是金色的!