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连接到我的数据库并在页面上显示一些博客帖子.
但是我收到此错误消息:
我一直在寻求帮助,但真的无法弄清楚出了什么问题,所以如果有人有任何想法,我们非常感谢! 我有一个单独的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)) { (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |