使用try的PHP PDO

使用try的PHP PDO

问题描述:

为了获得最佳实践,我应该将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

里面的try与其余的代码。

如果你try代码产生异常,你打印出来的异常消息,但随后继续检查rowCount(),这是依赖于$sth被成功地设置和执行。