注意:使用未定义的常量DB#u HOST-假定';DB#U主机';在第31行的C:\xampp\htdocs\blog\system\functions.php中

注意:使用未定义的常量DB#u HOST-假定';DB#U主机';在第31行的C:\xampp\htdocs\blog\system\functions.php中,php,Php,犯了几个错误,我一辈子都看不到自己在哪里跌倒。下面是函数文件 <?php include('config.php'); function getAllPosts() { try { $dbh = new PDO(DB_HOST, DB_USER, DB_PASS); } catch (PDOException $e) { echo $e->getMessage(); } $stmt = $dbh->prepar

犯了几个错误,我一辈子都看不到自己在哪里跌倒。下面是函数文件

<?php
include('config.php');

function getAllPosts()
{
    try {
        $dbh = new PDO(DB_HOST, DB_USER, DB_PASS);
    } catch (PDOException $e) {
        echo $e->getMessage();
    }

    $stmt = $dbh->prepare('SELECT id, title, content FROM posts ORDER BY created_at DESC');
    $stmt->execute();
    $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
    return $results;
}

function getSinglePost($id)
{
    try {
        $dbh = new PDO(DB_HOST, DB_USER, DB_PASS);
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
    $stmt = $dbh->prepare('SELECT title, content FROM posts WHERE id = ?');
    $bindings = array($id);
    $stmt->execute($bindings);
    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    return $result;
}

?>

我还认为我应该包括我正在运行的页面来生成错误

<?php include('system/functions.php'); ?>
<html>
<head>
<title>Create A New Post | My First Blog</title>

<link rel="stylesheet" type="text/css" href="style.css">

</head>

<body>
<div id="form">
<?php if (isset($_GET['id'])){ ?>

<h2>Single Post:</h2>

<?php $post = getSinglePost($_GET['id']); ?>
<?php print_r($post); ?>

<?php } ?>
<fieldset>
</fieldset>
</div>

</body>
</html>

创建新帖子|我的第一个博客
单一职位:
非常感谢任何帮助,这些都是错误的全部

注意:在第31行的C:\xampp\htdocs\blog\system\functions.php中使用未定义的常量DB\u HOST-假定为“DB\u HOST”

注意:在第31行的C:\xampp\htdocs\blog\system\functions.php中使用未定义的常量DB\u USER-假定为“DB\u USER”

注意:在第31行的C:\xampp\htdocs\blog\system\functions.php中使用未定义的常量DB\u PASS-假定为“DB\u PASS” 无效的数据源名称 注意:第37行C:\xampp\htdocs\blog\system\functions.php中的未定义变量:dbh

致命错误:对C:\xampp\htdocs\blog\system\functions.php第37行的非对象调用成员函数prepare()

也应该包括配置文件

<?php
define('DB_HOST','mysql:host=localhost;dbname=blog');
define('DB_USER','root');
define('DB_PASS','');
?>


尚未定义用于
主机
用户
密码
的常量。您的
config.php可能有问题,这意味着未定义
DB\u HOST
,或者在当前上下文中无法访问
DB\u HOST

尝试在开始时将这些变量放入脚本中,而不是
include('config.php')


使用特定的术语来代替参考

例如

$dbh = new PDO(DB_HOST, DB_USER, DB_PASS);
改成

$dbh = new PDO('localhost', 'root', '')

那就行了。

你能展示config.php吗
include('config.php')绝对正确?我们可能还需要查看配置文件中包含的目录结构:)。以前没有问题,但现在可能有问题了?如果在包含functions.php之前包含
config.php
,而不是将其包含在functions.php中,会发生什么情况?这就完成了任务。必须与相对路径有关。我认为在函数文件中配置可以完成任务,但显然不行。谢谢
$dbh = new PDO('localhost', 'root', '')