我的数据库有问题!这是我的代码:
<?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);
?>
问题在于它说“数据库连接成功!”无论我做什么,如果我输入错误的地址,它仍然说成功,当我将数据库重命名为不存在的数据库时,它仍然说是成功的。我看不出这里的问题是什么?
如果有人能帮助我,我们将非常感激!
谢谢!
答案 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