sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag korrekt använda ett PDO-objekt för en parameteriserad SELECT-fråga

Du väljer data så här:

$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

Du infogar på samma sätt:

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

Jag rekommenderar att du konfigurerar PDO för att kasta undantag vid fel. Du skulle då få en PDOException om någon av frågorna misslyckas - Inget behov av att kontrollera explicit. För att aktivera undantag, ring detta precis efter att du har skapat $db objekt:

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


  1. Hantering av frödata i R12.2 online patchning

  2. Msg 8672, Level 16, State 1, Line 1 MERGE-satsen försökte UPPDATERA eller DELETE samma rad mer än en gång

  3. Så här ändrar du tabellvärdesparametern

  4. Anropa en Oracle-funktion från Java