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

时间:2012-03-30 23:51:02

标签: php

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

我的网页结构如何:

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";
}

$pageTitle$header.php中的变量。它控制每个页面的<title> tage。

问题

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

问题:

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

然而,聪明的方法是将数据库从标题中删除。

此致