Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Problem z bindParam
Pjotrek80
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 9.04.2013

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


Próbuje napisać metodę insert. Mam problem z bindParam.

Oto fragment kodu metody:
  1. $stmt = $this->prepare($sql);
  2.  
  3. foreach($valuesArr as $valueName => $value){
  4. if(!is_array($value)){
  5. $bindValName = '"';
  6. $bindValName .= ':'.$valueName;
  7. $bindValName .= '"';
  8. $stmt->bindValue($bindValName, $value);
  9. }else {
  10. $hasParam = true;
  11. $paramArr = $value;
  12. $bindParamName = $valueName;
  13. $bindParName = '"';
  14. $bindParName .= ':'.$bindParamName;
  15. $bindParName .= '"';
  16. $stmt->bindParam($bindParName, $paramName);
  17. }
  18. }
  19.  
  20. if(!$hasParam){
  21. $stmt->execute($valuesArr);
  22. $insetItemId = $this->lastInsertId();
  23. $stmt->closeCursor();
  24. return $insetItemId;
  25. }
  26.  
  27. foreach($paramArr as $param){
  28. $paramName = $param;
  29. $stmt->execute();
  30. $id = $this->lastInsertId();
  31. array_unshift($insetItemIdArr, $id);
  32. }
  33. $stmt->closeCursor();
  34. return $insetItemIdArr;
  35.  


Wywala ostrzeżenie:
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in...
Nie wiem co jest nie tak z paramName, bo chyba o to krzyczy?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





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




Cytat
Z pojedynczym też nie działa :/
Nazwa parametrow ma byc bez zadanych pojedynczych czy podwojnych cudzyslowi.... skad zes to wymyslil ze ma tam byc cos takiego? Nazwa parametru skladak sie z dwukropka i nazwy - nic wiecej.

Poza tym twoj kod to jakas sieczka, ktorej nie idzie zrozumiec.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.08.2025 - 22:12