我有一個快速的問題,我希望有一個快速和明確的答案。PHP的PDO執行()與fetch()?
在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返回異常?
哪個版本會使用新的PDO?一個參考工作特別指出PHP PDO以異常的形式觸發錯誤 - 並且它只是聲明PHP 5。 – Mlagma