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 に答える