2013-03-23 72 views
1

爲了獲得最佳實踐,我應該將try命令放在try語句中,還是準備和執行足夠?使用try的PHP PDO

$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>"); 
} 
+3

高興地看到一個PDO查詢的變化 – asprin 2013-03-23 14:28:29

回答

1

裏面的try與其餘的代碼。

如果你try代碼產生異常,你打印出來的異常消息,但隨後繼續檢查rowCount(),這是依賴於$sth被成功地設置和執行。