加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 未捕获的异常’PDOException’消息’无效的数据源名称’

发布时间:2020-12-13 13:51:13 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用PDO连接到我的数据库并在页面上显示一些博客帖子. 但是我收到此错误消息: Fatal error: Uncaught exception ‘PDOException’ with message ‘invalid data source name’ in index.php on line 61… 我一直在寻求帮助,但真的无法弄清楚出了
我正在尝试使用PDO连接到我的数据库并在页面上显示一些博客帖子.
但是我收到此错误消息:

Fatal error: Uncaught exception ‘PDOException’ with message ‘invalid
data source name’ in index.php on line 61…

我一直在寻求帮助,但真的无法弄清楚出了什么问题,所以如果有人有任何想法,我们非常感谢!

我有一个单独的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_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>
            ';
        }
    } ;
    ?>
疑难杂症.

出于某种原因,您正在从PDO扩展您的课程.所以,你的’blogdata’被视为DSN.

只需摆脱您的数据库类并使用原始PDO

connect.inc.php:

<?php 
$db_host = "localhost";
$db_name = "blogdata";
$db_user = "username";
$db_pass = "password";
$db = new PDO("mysql:host=$db_host;dbname=$db_name",$db_pass);
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

index.php文件:

<?php
require 'connect.inc.php'; 

$query = "SELECT * FROM blogposts";
$result = $db->query($query);
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读