出现了一些错误,而且我终究还是看不出我在哪里失败了。下面是函数文件
<?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>
非常感谢任何帮助,这些都是完整的错误。
注意:使用未定义的常量 DB_HOST - 在第 31 行的 C:\xampp\htdocs\blog\system\functions.php 中假定为“DB_HOST”
注意:使用未定义的常量 DB_USER - 在第 31 行的 C:\xampp\htdocs\blog\system\functions.php 中假定为“DB_USER”
注意:使用未定义的常量 DB_PASS - 在 C:\xampp\htdocs\blog\system\functions.php 第 31 行假定为“DB_PASS” 无效的数据源名称 注意:C:\xampp\htdocs\blog\system\functions.php 第37行 undefined variable :dbh
fatal error :在第 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','');
?>
最佳答案
您用于Host
、User
和Password
的常量尚未定义。您的 config.php
可能有问题。
关于php - 注意第31行的: Use of undefined constant DB_HOST - assumed 'DB_HOST' in C:\xampp\htdocs\blog\system\functions. php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14522932/