我对PHP中的预处理语句有一个快速的问题。我以前使用mysql_query函数来操作数据库数据,但被告知为了安全问题,我应该考虑使用预准备语句。我已经进行了转换,但是我有一些关于如何检测查询是否失败的问题。
下面我有一段示例代码。 $ con变量是一个特定的连接,具体取决于我正在尝试的查询,在这种情况下,连接将通过仅具有选择权限的帐户连接到我的数据库。
$stmt = $con->stmt_init();
$stmt->prepare("SELECT COUNT(*) FROM users WHERE username=?");
$stmt->bind_param('s', $username);
$stmt->execute();
$stmt->bind_result($user_count);
$stmt->fetch();
$stmt->close();
我想知道如何在任何这些步骤中检测到故障?我能想象的最简单的解决方案就是使用try / catch来包装代码..但我想知道是否有更复杂的方法来做到这一点。
感谢您阅读我的问题。
答案 0 :(得分:1)
要扩展Jared的评论,您可以执行以下操作:
$stmt->execute();
if( !$stmt->errorCode() ){
// do something with results
}else{
// do something with the error
}
$stmt->close();