PDO в PHP execute () или 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-> gt; 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 возвращает исключения?