【发布时间】:2013-11-13 11:37:16
【问题描述】:
我正在尝试使用 PDO 连接到我的数据库并在页面上显示一些博客文章。 但是我收到此错误消息:
致命错误:未捕获异常“PDOException”,消息“无效” 第 61 行 index.php 中的数据源名称...
我一直在寻求帮助,但真的不知道出了什么问题,所以如果有人有任何想法,非常感谢!
我有一个单独的 connect.inc.php 文件,它包含在 index.php 文件中。
这是 connect.inc.php 文件:
<?php
class DB extends PDO
{
function database_connection() {
$db_host = "localhost";
$db_name = "blogdata";
$db_user = "username";
$db_pass = "password";
try {
global $db_host, $db_name, $db_user, $db_pass;
$pdo = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
}
catch(PDOException $e) {
die( 'Query failed: ' . $e->getMessage() );
}
}
}
?>
这是 index.php 文件中错误消息中指出的部分:
<?php
require 'connect.inc.php';
$db = new DB('blogdata');
$query = "SELECT * FROM blogposts";
if ($result = $db->query($query)) {
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo '
<section id="content">
<article class="post_title"><h3> ', $row['title'],' </h3></article>
<article class="post_message"> ', nl2br ($row['message']),' </article>
<article class="post_time"> ',$row['time'],' </article>
</section>
';
}
} ;
?>
【问题讨论】:
-
首先,这段代码极其不一致。 DB 类有
database_connection()方法,该方法无处调用。您使用 'blogdata' 参数调用它,但再次没有使用它。它是真的你运行的实际代码吗?
标签: php mysql database exception pdo