即使设置错误模式,PDO也不会返回错误

时间:2014-10-23 00:20:45

标签: php pdo

编辑:问题是没有显示错误。这只是为了澄清每一个问题。

我刚学会了什么是PDO,我决定测试它是如何工作的。从我检查过的教程中,您必须使用以下行来显示错误:$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 所以无论如何,我使用这一行,确保我的查询有错误,它仍然没有显示任何错误。与数据库的连接有效,它总是在无法连接时返回错误。无论如何,这里是我的代码:

<?php

// Connection to the mysql database using PDO

$mysql_host = "hidden";
$mysql_dbname = "hidden";
$mysql_username = "hidden";
$mysql_password = "hidden";

try {
 $DBH = new PDO("mysql:host=$mysql_host;dbname=$mysql_dbname", $mysql_username, $mysql_password);
 $DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

 $DBH->prepare("SELECT username FROM username");
} catch (PDOException $e) {
 echo "Error connecting to the database:" . $e->getMessage();
}

?>

2 个答案:

答案 0 :(得分:2)

您不会因为

而收到任何错误
$DBH->prepare("DELETE use FROM blob");

不执行,只准备要执行的查询。

用以下代码替换该行代码:

$stmt = $DBH->prepare("DELETE use FROM blob");
$stmt->execute();

答案 1 :(得分:1)

你需要执行它

$stmt = $DBH->prepare("DELETE use FROM blob");
$stmt->execute();

否则它实际上并没有运行查询。