Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso utilizzare correttamente un oggetto PDO per una query SELECT parametrizzata

Seleziona i dati in questo modo:

$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

Inserite allo stesso modo:

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

Ti consiglio di configurare PDO per generare eccezioni in caso di errore. Quindi otterresti una PDOException se una qualsiasi delle query fallisce - Non è necessario controllare esplicitamente. Per attivare le eccezioni, chiamalo subito dopo aver creato il $db oggetto:

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