MAMP中的PDO数据库连接问题–继续创建新数据库



由于某些原因,即使我尝试测试、try-catch块并断开连接,此代码也总是返回"Connected to Database"。当我更改数据库的名称以测试异常时,它只会创建一个新的数据库。有什么想法吗?

<?php
try{
$db = new PDO ("sqlite:".__DIR__."/database.db"); 
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
} catch (Exception $e){
echo 'Caught exception: ',  $e->getMessage();
exit;
}
echo "Connected to Database";
?>

我相信这是pdo_sqlite的预期行为:如果你提供了一个不存在的数据库的路径,并且PHP能够写入该路径目录中的文件,它只需在你提供的文件名下创建数据库。

如果您想测试文件不可写的情况,您可以更改文件权限,使运行PHP的用户没有写访问权限。

因为echo "Connected to Database";不在try括号内,所以它将始终与之呼应。

试试这个。

<?php
try{
$db = new PDO ("sqlite:".__DIR__."/database.db"); 
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "Connected to Database";
} catch (Exception $e){
echo 'Caught exception: ',  $e->getMessage();
exit;
}
?>

相关内容

  • 没有找到相关文章

最新更新