1

为了获得最佳实践,我应该将 fetch 命令部分放在 try 语句中,还是准备和执行足够?

$sql    = "SELECT * FROM links WHERE device = 'mobile' AND category = ? ORDER BY category asc, link_id asc";

try{
    $sth = $dbh->prepare($sql);
    $sth->bindValue(1, $cat, PDO::PARAM_STR);
    $sth->execute();
} 
catch(\PDOException $ex){
    print($ex->getMessage()); 
}

if($sth->rowCount()) {        
    print("<a data-rel=\"dialog\" data-transition=\"pop\" href=\"index.php?action=addnew&cat=$cat\">Add New Menu Item</a><br/><br/>");
    print("<ul data-role=\"listview\" data-filter=\"true\">");
    while($row = $sth->fetch(PDO::FETCH_BOTH)) {    
        print("<li>");
        print("<a data-transition='fade' href='$row[$COL_HREF]'>$row[$COL_LINK_NAME]<br/></a>");
        print("</li>\n");
    }
    print("</ul>");
}
4

1 回答 1

1

里面try有其余的代码。

如果您的代码try产生异常,您将打印出异常消息,但随后会继续检查rowCount(),这取决于$sth是否成功设置和执行。

于 2013-03-23T14:29:06.303 回答