Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 即使在设置错误模式时,PDO也不会返回错误_Php_Pdo - Fatal编程技术网

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

Php 即使在设置错误模式时,PDO也不会返回错误,php,pdo,Php,Pdo,编辑:问题是没有显示错误。这只是为了澄清一切 我刚刚了解了什么是PDO,我决定测试它是如何工作的。在我查看的教程中,您必须使用以下行显示错误:$DBH->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION) 所以不管怎样,我使用了这一行,确保我的查询有错误,并且仍然没有显示任何错误。数据库连接正常,无法连接时总是返回错误。总之,这里是我的代码: <?php // Connection to the mysql database us

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

我刚刚了解了什么是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();
}

?>

您不会收到任何错误,因为

$DBH->prepare("DELETE use FROM blob");
不执行,只准备要执行的查询

将该行代码替换为:

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

您不会得到任何错误,因为

$DBH->prepare("DELETE use FROM blob");
不执行,只准备要执行的查询

将该行代码替换为:

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

您不会得到任何错误,因为

$DBH->prepare("DELETE use FROM blob");
不执行,只准备要执行的查询

将该行代码替换为:

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

您不会得到任何错误,因为

$DBH->prepare("DELETE use FROM blob");
不执行,只准备要执行的查询

将该行代码替换为:

$stmt = $DBH->prepare("DELETE use FROM blob");
$stmt->execute();
你需要执行它

$stmt = $DBH->prepare("DELETE use FROM blob");
$stmt->execute();
否则它实际上不会运行查询。

您需要执行它

$stmt = $DBH->prepare("DELETE use FROM blob");
$stmt->execute();
否则它实际上不会运行查询。

您需要执行它

$stmt = $DBH->prepare("DELETE use FROM blob");
$stmt->execute();
否则它实际上不会运行查询。

您需要执行它

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


否则它实际上不会运行查询。

您能清楚地解释一下需要解决的问题是什么吗?准备与执行查询不同。您的错误可能只会在执行时出现?不会显示错误flagged@JamesWalsh,请显示您的输出。请您清楚地说明需要解决的问题是什么?准备与执行查询不同。您的错误可能只会在执行时出现?不会显示错误flagged@JamesWalsh,请显示您的输出。请您清楚地说明需要解决的问题是什么?准备与执行查询不同。您的错误可能只会在执行时出现?不会显示错误flagged@JamesWalsh,请显示您的输出。请您清楚地说明需要解决的问题是什么?准备与执行查询不同。您的错误可能只会在执行时出现?不会显示错误flagged@JamesWalsh,请显示您的输出。工作!我不知道为什么,在教程中,他们刚刚使用了prepare,并说它应该显示一个错误:L。我想我将更改教程作品!我不知道为什么,在教程中,他们刚刚使用了prepare,并说它应该显示一个错误:L。我想我将更改教程作品!我不知道为什么,在教程中,他们刚刚使用了prepare,并说它应该显示一个错误:L。我想我将更改教程作品!我不知道为什么,在教程中,他们只是使用prepare,并说它应该显示一个错误:L。我想我会更改教程