正在获取对数据库变量的访问权限


Getting access to a database variable

我想从数据库中提取一个值,并将其用作当前页面标题。我的连接正常,页面加载良好,但我需要访问一个变量,但我无法计算出这个变量。

我的页面结构:

Blog.php

require_once($_SERVER['DOCUMENT_ROOT'] . '/inc/header.php');
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
    $blogid = $_GET['id'];
    $stmt = $dbh->prepare("SELECT id, title, slug, body, image, author, date, category from blog WHERE id= :id ORDER BY date DESC");
    $stmt->execute(array('id' => $_GET['id']));
    $row = $stmt->fetch();
}
if(isset($row['title'])) {
    $pageTitle = $row['title'];
} else {
    $pageTitle = "Something Here";
}

CCD_ 1是CCD_ 2中的一个变量。它控制每个页面的<title>阶段。

问题

我的数据库连接$dbh设置在header.php中。这意味着我无法访问$row['title'],直到为时已晚。

问题:

如何对其进行重组以在require_once($_SERVER['DOCUMENT_ROOT'] . '/inc/header.php');之前访问$row['title']。如果没有必要的话,我真的不想把数据库连接从标题中拉出来。

谢谢!

您不能这样做,因为您的<title></tile>已经打印在输出中了。一个核心修复方案是使用缓冲区中的渲染(使用ob_start ob_get_content),然后解析渲染的内容以更改$pageTitle0标签的内容。

然而,聪明的方法是将数据库从标头中取出。

问候