Ejecución de PDO de PHP () vs. fetch ()?
Tengo una pregunta rápida que espero tenga una respuesta rápida y clara.
En el manual de php.com, indica que la ejecución () después de vincular los valores a una consulta preparada devolverá verdadero en caso de éxito y falso en caso de error. Suficientemente simple.
Solo quería asegurarme de tener esto claro. Los valores devueltos en execute () corresponden a errores directos. Por ejemplo, si la base de datos de alguna manera se descompuso después de una conexión exitosa, y la consulta no pudo ejecutarse, o algún otro problema extraordinario.
Considere algún código:
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;
}
}
Estoy bastante seguro de que esto no funcionará como quiero. El punto es ver si t_id existe en la base de datos en función de si hay un valor correspondiente al parámetro. En ese caso, necesito usar $ stmt-> fetch (). ¿Estoy en lo correcto al decir eso?
Cualquier ayuda es apreciada.
Edit: En la misma línea, ¿sería prudente, o debería decir buenas prácticas, poner
//Execute test
$this->checkConnect();
$stmt = $this->dbh->prepare("SELECT t_id FROM Territory WHERE t_id = :param1")
$stmt->bindParam(':param1', $this->numberOut);
$stmt->execute();
dentro de un try-catch desde PDO devuelve excepciones?