sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo puedo usar correctamente un objeto PDO para una consulta SELECT parametrizada?

Seleccionas datos como este:

$db = new PDO("...");
$statement = $db->prepare("select id from some_table where name = :name");
$statement->execute(array(':name' => "Jimbo"));
$row = $statement->fetch(); // Use fetchAll() if you want all results, or just iterate over the statement, since it implements Iterator

Se inserta de la misma manera:

$statement = $db->prepare("insert into some_other_table (some_id) values (:some_id)");
$statement->execute(array(':some_id' => $row['id']));

Le recomiendo que configure PDO para lanzar excepciones en caso de error. Entonces obtendría una PDOException si alguna de las consultas falla, no es necesario verificar explícitamente. Para activar las excepciones, llame a esto justo después de haber creado el $db objeto:

$db = new PDO("...");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);