【发布时间】:2022-01-29 16:33:54
【问题描述】:
我在使用 PDO 创建对象时遇到问题。
以下是我的代码,它在“新 PDO”处挂起。并且没有响应,也没有错误。
<?php
$user = "root";
$password = "password";
$database = "test";
$table = "test";
try {
$db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
var_dump($db);
echo "<h2>TODO</h2><ol>";
foreach($db->query("SELECT content FROM $table") as $row) {
echo "<li>" . $row['content'] . "</li>";
}
echo "</ol>";
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
谁能帮我理解我为什么会遇到这个问题。
我正在运行 ubuntu 20.04
【问题讨论】:
-
确保您启用了错误报告...要在实时环境中从 PHP 中获取错误,请将这 4 行添加到要调试的任何基于 MYSQLI_ 的脚本的顶部 ini_set('display_errors' , 1); ini_set('log_errors',1);错误报告(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);。这将强制任何 MYSQLI_ 错误生成您可以在浏览器上看到的异常以及正常的 PHP 错误。
-
@Martin,没有错误,因为脚本挂起。我附上了截图
-
当它挂起时,可能是 dns 解析问题或连接问题。您可以使用
telnet localhost 3306或telnet 127.0.0.1 3306连接到数据库吗?