【发布时间】:2012-09-11 08:54:06
【问题描述】:
我有一个快速的问题,希望得到快速而明确的答案。
在 php.com 的手册中,它声明在将值绑定到准备好的查询后,execute() 将在成功时返回 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();
在一个 try-catch 中,因为 PDO 返回异常?
【问题讨论】: