PHP PDO execute () vs. fetch ()?

Mam szybkie pytanie, które mam nadzieję ma szybką i jasną odpowiedź.

W podręczniku php.com stwierdza, że ​​execute () po powiązaniu wartości z przygotowanym zapytaniem zwróci true w przypadku sukcesu i false w przypadku niepowodzenia. Wystarczająco proste.

Chciałem się tylko upewnić, że to jasne. Wartości zwracane w execute () odpowiadają błędom bezpośrednim. Na przykład, jeśli baza danych w jakiś sposób zgasła po udanym połączeniu, a zapytanie nie mogło zostać wykonane - lub jakiś inny nadzwyczajny problem.

Rozważ jakiś kod:

    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;
        }   
    }

Jestem raczej pewien, że to nie zadziała tak, jak chcę. Chodzi o to, aby zobaczyć, czy t_id istnieje w bazie danych na podstawie tego, czy istnieje odpowiednia wartość parametru. W takim przypadku muszę użyć $ stmt-> fetch (). Czy mam rację, mówiąc to?

Każda pomoc jest doceniana.

Edytuj: Czy w tym samym sensie byłoby rozsądne - czy też powinienem powiedzieć „najlepsza praktyka” - umieścić

//Execute test
        $this->checkConnect();
        $stmt = $this->dbh->prepare("SELECT t_id FROM Territory WHERE t_id = :param1")
        $stmt->bindParam(':param1', $this->numberOut);
        $stmt->execute();

wewnątrz try-catch od PDO zwraca wyjątki?

questionAnswers(1)

yourAnswerToTheQuestion