1

我的数据库有问题!这是我的代码:

<?php
$host = "/homes/49/jc192699/public_html/dbase";
$database = "EduPro.db";
$dbhandle = new PDO("sqlite:".$host.$database);

if (!$dbhandle){
echo "Error connecting to database.\n";
}

else{
echo "<br>";
echo "<br>";
echo "Database connection successful!";
}

mysql_select_db($database);

?> 

问题是它说“数据库连接成功!” 不管我做什么,如果我输入错误的地址,它仍然说成功,当我将数据库重命名为不存在的数据库时,它仍然说成功。我看不出这里有什么问题?

如果有人可以帮助我,将不胜感激!

谢谢!

4

2 回答 2

3

对于初学者,PDO如果出现错误,构造函数会抛出异常。它返回false。使用检查错误

try {
    $dbhandle = new PDO("sqlite:".$host.$database);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

其次,当您使用 SQLite 时,如果您的dbase目录可由脚本写入,您的连接尝试将创建一个空数据库。

于 2012-04-19T00:43:18.850 回答
0

试试这个:

<?php
try {
    /*** connect to SQLite database ***/
    $dbh = new PDO("sqlite:/path/to/database.sdb");
    }
catch(PDOException $e)
    {
    /*** real error message prints here ***/
    echo $e->getMessage();
    }
?>

这直接取自这里: http ://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html#4.2

于 2012-04-19T00:44:16.217 回答