我有一个快速的问题,我希望有一个快速而明确的答案。
在 php.com 的手册中,它指出在将值绑定到准备好的查询之后执行()将在成功时返回 true,在失败时返回 false。很简单。
我只是想确保我清楚这一点。execute() 返回的值对应于直接错误。例如,如果数据库在成功连接后以某种方式关闭,并且无法执行查询 - 或其他一些特殊问题。
考虑一些代码:
protected function territoryCheck($numberOut)
{
$this->numberOut = $numberOut;
//Execute test
$this->checkConnect();
$stmt = $this->dbh->prepare("SELECT t_id FROM Territory WHERE t_id = :param1")
$stmt->bindParam(':param1', $this->numberOut);
$stmt->execute();
//Determine value of test
if($stmt == FALSE)
{
return FALSE;
}
}
我很确定这不会按我的意愿运行。重点是根据参数是否有对应的值,看数据库中是否存在t_id。在这种情况下,我需要使用 $stmt->fetch()。我这样说对吗?
任何帮助表示赞赏。
编辑:按照同样的思路,是否谨慎 - 或者我应该说最佳实践 - 把
//Execute test
$this->checkConnect();
$stmt = $this->dbh->prepare("SELECT t_id FROM Territory WHERE t_id = :param1")
$stmt->bindParam(':param1', $this->numberOut);
$stmt->execute();
由于 PDO 返回异常,在 try-catch 中?