我正在尝试从数据库中获取结果,它不返回任何错误并且不返回任何结果。关于我做错了什么想法?
try {
$db_connection = new PDO("mysql:host = $hostname; dbname = $database", $username, $password);
//$db_connection->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT );
$query = $db_connection->prepare("SELECT `id`, `code` FROM `mycodedatabase` WHERE 1");
$query->execute();
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
echo $row['id'];
echo $row['code'];
}
$db_connection = null;
}
catch(PDOException $e) {
echo $e->getMessage();
}
答案 0 :(得分:4)
尽量避免为不同目的使用相同的变量。使用$ query和$ result。不要让你的代码变得复杂。我认为在调试时会有所帮助,并在逻辑看起来正确时避免错误。
<?php
$pdo = new PDO('mysql:host=localhost;dbname=$database', "user", "pass");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$query = "SELECT id,code FROM mycodebase";
$result = $pdo->prepare($query);
$result->execute();
while ($row = $result->fetch()) {
echo $row['id'];
echo $row['code'];
}
$db_connection = null;
} catch (PDOException $e) {
echo $e->getMessage();
}
?>
不要忘记更改“用户”和“通过”
答案 1 :(得分:1)
您必须将错误模式设置为PDO :: ERRMODE_EXCEPTION而不是PDO :: ERRMODE_SILENT(这是默认设置,因此不会引发异常的原因)。