【发布时间】:2012-12-28 02:43:22
【问题描述】:
目标:简单地从 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;
?>
【问题讨论】:
标签: php pdo connection-string dsn