PHP PDO错误成功无论如何

时间:2012-04-19 00:39:12

标签: php

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

<?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);

?> 

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

如果有人能帮助我,我们将非常感激!

谢谢!

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分: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