使用 TBS 准备好的语句

Prepared statements with TBS

我正在尝试将准备好的语句的结果合并到 TBS。这是我的代码:

$s = $link->prepare("SELECT * FROM newsletters WHERE newsletter_id = :newsletter_id");
$s->bindParam(":newsletter_id",$newsletter_id);
$s->execute();
$newsletter = $s->fetch(PDO::FETCH_ASSOC);

$tbs->MergeBlock('$newsletter ',  $newsletter );

但是我无法获取结果字段。我收到如下错误:

TinyButStrong Error in field [newsletter.title...]: item 'title' is not an existing key in the array.

我找不到我的错误。

MergeBlock() 用于合并记录集,因此您应该使用 $s->fetchAll() 而不是 $s->fetch()。将为每条记录重复模板部分。

但如果您必须合并独立记录,请使用 MergeField() 而不是 MergeBlock()。单个字段将一一合并,不重复。