目标:简单地从 MySQL 数据库中获取数组。
问题:我在 PDO 语句中使用 $dsn“字符串变量”作为参数,但似乎有一个未捕获的异常,它与调用驱动程序或 (PDO->__construct) 有关 - 我不是当然。您对如何修复 $dsn 字符串变量或此代码的其他可能导致其失败的区域有任何想法吗?提前致谢。
// 定义数据库参数
$dbhost = "localhost";
$dbname = "x";
$dbuser = "y";
$dbpass = "z";
// 调用驱动程序(作为变量字符串)
$dsn = "mysql:host=$dbhost;dbname=$dbname";
// 连接到新创建的 db 对象
$dbh = new PDO($dsn, $dbuser, $dbpass);
// 设置 PDO 错误模式以启用异常
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
// 执行对数据库的查询
$sql = "SELECT * FROM a_aif_remaining";
$sth = $dbh->prepare($sql);
$sth->execute();
// 显示查询结果
print("PDO::FETCH_ASSOC: ");
print("Return next row as an array indexed by column name");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("");
return $results;
// 关闭数据库连接
$dbh = NULL;
?>