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

Bro*_*acy 5 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->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;
}

?>
Run Code Online (Sandbox Code Playgroud)

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

<?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>
Run Code Online (Sandbox Code Playgroud)

非常感谢所有帮助,这些都是完整的错误。

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

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

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

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

也应该包含配置文件

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

Lou*_*uer 4

您用于Host,的常量User尚未Password定义。你的可能有问题config.php