Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę przekazać tablicę parametrów PDO, a jednocześnie określić ich typy?

Jeśli wyłączysz domyślne ustawienie PDO::ATTR_EMULATE_PREPARES , wtedy zadziała. Właśnie dowiedziałem się, że to ustawienie jest domyślnie włączone dla mysql, co oznacza, że ​​nigdy nie używasz przygotowanych instrukcji, php wewnętrznie tworzy dla Ciebie dynamiczny sql, cytując wartości za Ciebie i zastępując symbole zastępcze. Tak, główny wtf.

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

Przygotowania są domyślnie emulowane ze względu na wydajność.

Zobacz także PDO MySQL:Użyj PDO::ATTR_EMULATE_PREPARES czy nie?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wprowadzenie do poleceń SQL

  2. Jak wybrać rekordy ze zduplikowanym tylko jednym polem i wszystkimi innymi wartościami pól?

  3. Jak przechowywać adres IP w mySQL

  4. Błędy PHP -> Ostrzeżenie:mysqli_stmt::execute():Nie można pobrać mysqli_stmt | Ostrzeżenie:mysqli_stmt::zamknij()

  5. php mysql wyszukiwanie pełnotekstowe:lucene, sfinks, czy?