sql >> Databáze >  >> RDS >> Mysql

Jak mohu správně použít objekt PDO pro parametrizovaný dotaz SELECT

Data vybíráte takto:

$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

Vložíte stejným způsobem:

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

Doporučuji nakonfigurovat PDO tak, aby při chybě vyvolávalo výjimky. Pak byste dostali PDOException pokud některý z dotazů selže - Není třeba explicitně kontrolovat. Chcete-li zapnout výjimky, zavolejte to hned poté, co vytvoříte $db objekt:

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


  1. PostgreSQL na vzestupu:2018 Postgres Findings &2019 Trends

  2. Jak MapReduce funguje v Hadoopu

  3. Jak mohou automatické aktualizace statistik ovlivnit výkon dotazů

  4. SQL - Aktualizace více záznamů v jednom dotazu