Smartyのバージョンは最新版の3.1.30です。
<config.php>
setCacheDir("./cache/");
$smarty->setCompileDir("./templates_c/");
$smarty->setTemplateDir("./templates/");
$smarty->setConfigDir("./configs/");
// データベースに接続
try{
$dbh = new PDO(DSN, DB_USER,DB_PASSWORD);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
}catch(PDOException $e){
echo $e->getMessage();
exit;
}
$result = $dbh->prepare("SELECT * FROM `update` ORDER BY id DESC");
$result->execute();
$result->setFetchMode(PDO::FETCH_LAZY);
$smarty->assign('result', $result);
$smarty->display('index.tpl');
[codehtml]
{* ループ *}
{foreach $result as $row}
{$row.date|escape}
{$row.main|escape}
{/foreach}
[/code]
Smartyは変数名に {$row.date|escape}とすることで htmlspecialchars関数を呼び出してくれます。