我有一个调用 smarty 模板的 php 文件,它可以正常工作并且所有变量都正确传递。不需要 smarty 模板的 php 文件可以毫无问题地连接到数据库。问题:每当我输入 PDO 语句时,页面加载为空白 html 而不是模板。
<?php
session_name('login');
session_start();
if(!isset($_SESSION['username'])){
header("Location: login.php");
}
include(connect.php);
function getCats()
{
$cat = $db->prepare("SELECT * FROM `categories`");
$cat->execute();
$categories = $cat->fetchAll();
return $categories;
}
require('./Smarty-3.1.13/libs/Smarty.class.php');
$smarty = new Smarty;
$smarty->assign("catinfo", getCats());
$smarty->assign("pageType", "1");
$smarty->display('index.tpl');
?>
处理此问题的 smarty 模板部分如下所示。
{foreach from=$catinfo item='cat'}
<div class="category">
{foreach from=$cat item='info'}
<div class="catAttribute">{$info}</div>
{/foreach}
这是该表包含的内容:
CREATE TABLE `categories` (
`category` VARCHAR(20),
`count` INT(10),
`message` TEXT,
PRIMARY KEY(`category`)
);