Ver Mensaje Individual
  #12 (permalink)  
Antiguo 10/09/2013, 13:33
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Definición de funciones PDO

No, no es correcto, ve el Manual es muy claro:

exec(): ejecuta una consulta y devuelve el número de filas afectadas, puede ser un SELECT, claro, pero no tiene caso ya que el resultset se pierde.
prepare(): Prepara un query (statement) para poder ser enviado al servidor, puede o no tener variables, eso ya depende de ti, regresa un objeto PDOStatement
query(): Prepara y ejecuta un query, y te regresa el PDOStatement para que puedas manipular el resultado (descargar filas, contar filas, etc).

Es ahí donde esta la diferencia, prepare() no ejecuta el SQL (tienes que explícitamente mandar llamar a PDOStatement::execute()) y con query, lo hace por ti (pero tú tienes que escapar las variables que vayas a usar).

Vamos cada función tiene precisamente eso, una función diferente, es por eso que existen tres formas de hacerlo, depende de ti como programador usar la función adecuada bajo el contexto adecuado.

Saludos.