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

Jak mohu předat řadu parametrů PDO a přesto určit jejich typy?

Pokud vypnete výchozí nastavení PDO::ATTR_EMULATE_PREPARES , pak to bude fungovat. Právě jsem zjistil, že toto nastavení je ve výchozím nastavení zapnuto pro mysql, což znamená, že ve skutečnosti nikdy nepoužíváte připravené příkazy, php pro vás interně vytvoří dynamické sql, které za vás uvede hodnoty a nahradí zástupné symboly. Ano, hlavní wtf.

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $pdo->prepare($sql);
$stmt->execute(array(5)); //works!

Přípravky jsou z důvodu výkonu ve výchozím nastavení emulovány.

Viz také PDO MySQL:Použít PDO::ATTR_EMULATE_PREPARES nebo ne?



  1. Dotaz Android SQLite, kde sloupec není prázdný a není prázdný

  2. Je to bezpečný způsob, jak převést tabulky MySQL z latin1 na utf-8?

  3. Jak nastavit OTA v R12 a 11i

  4. Optimalizace databáze:Indexy