
Al igual que con MySQLi, también utilizando PDO podemos preparar consultas parametrizadas en el servidor para ejecutarlas de forma repetida. El procedimiento es similar e incluso los métodos a ejecutar tienen prácticamente los mismos nombres.
Para preparar la consulta en el servidor MySQL, deberás utilizar el método prepare
de la clase PDO. Este método devuelve un objeto de la clase PDOStatement
. Los parámetros se pueden marcar utilizando signos de interrogación como en el caso anterior.
. . .
$conProyecto = new PDO(". . .");
$stmt = $conProyecto->prepare('INSERT INTO familia (cod, nombre) VALUES (?, ?)');
O también utilizando parámetros con nombre, precediéndolos por el símbolo de dos puntos.
$stmt = $conProyecto->prepare('INSERT INTO familia (cod, nombre) VALUES (:cod, :nombre)');
Antes de ejecutar la consulta hay que asignar un valor a los parámetros utilizando el método bindParam
de la clase PDOStatement
. Si utilizas signos de interrogación para marcar los parámetros, el procedimiento es equivalente al método bindColumn
que acabamos de ver.
$cod_producto = "TABLET";
$nombre_producto = "Tablet PC";
$consulta->bindParam(1, $cod_producto);
$consulta->bindParam(2, $nombre_producto);
Si utilizas parámetros con nombre, debes indicar ese nombre en la llamada a bindParam
.
$consulta->bindParam(":cod", $cod_producto);
$consulta->bindParam(":nombre", $nombre_producto);