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

pdo wykonaj błąd Give

Z PDO::prepare podręcznika ;

To (niestety) oznacza, że ​​będziesz musiał zduplikować swoje powiązania z nazwami pomocniczymi, aby użyć tej samej wartości dwa razy w zapytaniu. Nieładny, coś takiego;

$sth = $db->prepare(
  'INSERT INTO track (`rsname`, `overallranknow`, `overalllevelnow`, `overallxpnow` )' .
    'VALUES (:name, :Overalln, :Overall1, :Overall2) '. 
    'ON DUPLICATE KEY UPDATE ' .
      "rsname = :name_2"  .
      "overallranknow = :Overalln_2" .
      "overalllevelnow = :Overall1_2" .
      "overallxpnow = :Overall2_2" 
);
$sth->bindValue(':name', $name, PDO::PARAM_STR);
$sth->bindValue(':name_2', $name, PDO::PARAM_STR);
$sth->bindValue(':Overalln', $Overalln, PDO::PARAM_INT);
$sth->bindValue(':Overalln_2', $Overalln, PDO::PARAM_INT);
$sth->bindValue(':Overall1', $Overall[1], PDO::PARAM_INT);
$sth->bindValue(':Overall1_2', $Overall[1], PDO::PARAM_INT);
$sth->bindValue(':Overall2', $Overall[2], PDO::PARAM_INT);
$sth->bindValue(':Overall2_2', $Overall[2], PDO::PARAM_INT);
$sth->execute();

EDYCJA:Ponieważ MySQL pozwala na VALUES słowo kluczowe w ON DUPLICATE KEY aby nie musieć powtarzać parametrów, lepiej skorzystaj z odpowiedzi @YourCommonSense w tym konkretnym przypadku.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. KATALOG DANYCH MySQL

  2. Tworzenie zdarzeń MySQL w Amazon RDS

  3. Codeiniter, Dołącz i sprawa, gdy zapytanie

  4. html potroił swój rozmiar, zwracając puste znaczniki po zapytaniu mysql | jak rozwiązać - laravel

  5. Pobieranie pliku o rozmiarze 0 KB podczas tworzenia kopii zapasowej bazy danych mysql za pomocą zrzutu mysql