Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]PDO podpinanie parametrów w pętli
qz12
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.03.2013

Ostrzeżenie: (0%)
-----


Witam,
co robię źle ?
  1. $data = array();
  2. $data[]='aa';
  3. $data[]='bb';
  4. $statement = $db->prepare('INSERT INTO `newsdata` VALUES (:'.implode(', :',$data).', NULL)');
  5. foreach($data as $row=>$war)
  6.  
  7. {
  8. $statement->bindValue("':{$war}'", $war, PDO::PARAM_STR);
  9.  
  10. }
  11. $statement->execute();
  12. $error = $statement->errorInfo();
  13. if($error[0])
  14. {
  15. var_dump($error);
  16.  
  17. }

Pojawia się błąd, że jest nieprawidłowa liczba parametrów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Po pierwsze: wywal apostrofy przy bindowaniu. Przeciez w ten sposob tworzysz zupelnie inną nazwe


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
qz12
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.03.2013

Ostrzeżenie: (0%)
-----


Oki, działa, dzięki
Go to the top of the page
+Quote Post
by_ikar
post
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


execute również przyjmuje całą tablicę parametrów, dzięki czemu nie trzeba wywoływać bind w pętli, o ile wcześniej weźmie się to pod uwagę.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 16:08