Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PDO , problem przy upload
jeremiash
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 5
Dołączył: 6.11.2012

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


Cześć. Zaczynam przygodę z PDO i podczepianiem więc proszę o wyrozumiałość. Przy próbie UPLOADowania danych napotykam na problem.

Komunikat: blad db : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( `id_pan`, `nazwa_en`, `nazwa_de`, `nazwa_fr`, `nazwa_esp`, `nazwa_pl`, `opinia' at line 1

ewentualnie komunikat typu: blad db : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

Sprawdziłem ilość parametrów (wykonałem opcję z dodaniem id_mia i bez id_mia , - to parametr który wskazuje mi miejsce edycji danych w bazie.
Dokonałem sprawdzenia typów zmiennych wejściowych (zgadzają się) oraz przeprowadziłem próbę na bindValue oraz bindParam

Gdzie popełniam błąd? Proszę o pomoc.

kod funkcji:
  1. public function AktualizujMiasto($polaczenie,$id_pan,$id_mia,$nazwa_en,$nazwa_de,$nazwa_fr,$nazwa_esp,$nazwa_pl,$opinia_pl,$opinia_en,$status,$y,$x,$data1,$data2,$data3) {
  2.  
  3. try
  4. {
  5.  
  6. $this->polaczenie=$polaczenie;
  7. $this->id_pan=$id_pan;
  8. $this->id_mia=$id_mia;
  9. $this->nazwa_pl=$nazwa_pl;
  10. $this->nazwa_en=$nazwa_en;
  11. $this->nazwa_de=$nazwa_de;
  12. $this->nazwa_fr=$nazwa_fr;
  13. $this->nazwa_esp=$nazwa_esp;
  14. $this->opinia_pl=$opinia_pl;
  15. $this->opinia_en=$opinia_en;
  16. $this->status=$status;
  17. $this->y=$y;
  18. $this->x=$x;
  19. $this->data1=$data1;
  20. $this->data2=$data2;
  21. $this->data3=$data3;
  22.  
  23. $stmt = $this->polaczenie->prepare('UPDATE `miasto` ( `id_pan`, `nazwa_en`, `nazwa_de`, `nazwa_fr`, `nazwa_esp`, `nazwa_pl`, `opinia_pl`, `opinia_en`, `status`, `y`, `x`, `data1`, `data2`, `data3`)
  24. VALUES (
  25. :id_pan,
  26. :nazwa_en,
  27. :nazwa_de,
  28. :nazwa_fr,
  29. :nazwa_esp,
  30. :nazwa_pl,
  31. :opinia_pl,
  32. :opinia_en,
  33. :status,
  34. :y,
  35. :x,
  36. :data1,
  37. :data2,
  38. :data3)
  39. WHERE `id_mia` =: id_miasta ');
  40. /*
  41. $stmt->bindValue(':id_miasta', $this->id_mia, PDO::PARAM_INT);
  42. $stmt->bindValue(':id_pan', $this->id_pan, PDO::PARAM_INT); // STR - ԡ񣵣h
  43. $stmt->bindValue(':nazwa_en', $this->nazwa_en, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  44. $stmt->bindValue(':nazwa_de', $this->nazwa_de, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  45. $stmt->bindValue(':nazwa_fr', $this->nazwa_fr, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  46. $stmt->bindValue(':nazwa_esp', $this->nazwa_esp, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  47. $stmt->bindValue(':nazwa_pl', $this->nazwa_pl, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  48. $stmt->bindValue(':opinia_pl', $this->opinia_pl, PDO::PARAM_STR, 400); // STR - ԡ񣵣h
  49. $stmt->bindValue(':opinia_en', $this->opinia_en, PDO::PARAM_STR, 400); // STR - ԡ񣵣h
  50. $stmt->bindValue(':status', $this->status, PDO::PARAM_INT, 3);
  51. $stmt->bindValue(':y', $this->y, PDO::PARAM_STR,10);
  52. $stmt->bindValue(':x', $this->x, PDO::PARAM_STR,10);
  53. $stmt->bindValue(':data1', $this->data1, PDO::PARAM_STR, 40); // STR - ԡ񣵣h
  54. $stmt->bindValue(':data2', $this->data2, PDO::PARAM_STR, 40); // STR - ԡ񣵣h
  55. $stmt->bindValue(':data3', $this->data3, PDO::PARAM_STR, 40); // STR - ԡ񣵣h
  56. */
  57.  
  58. $stmt->bindValue(':id_miasta', $this->id_mia, PDO::PARAM_INT);
  59. $stmt->bindParam(':id_pan', $this->id_pan, PDO::PARAM_INT); // STR - ԡ񣵣h
  60. $stmt->bindParam(':nazwa_en', $this->nazwa_en, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  61. $stmt->bindParam(':nazwa_de', $this->nazwa_de, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  62. $stmt->bindParam(':nazwa_fr', $this->nazwa_fr, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  63. $stmt->bindParam(':nazwa_esp', $this->nazwa_esp, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  64. $stmt->bindParam(':nazwa_pl', $this->nazwa_pl, PDO::PARAM_STR, 100); // STR - ԡ񣵣h
  65. $stmt->bindParam(':opinia_pl', $this->opinia_pl, PDO::PARAM_STR, 400); // STR - ԡ񣵣h
  66. $stmt->bindParam(':opinia_en', $this->opinia_en, PDO::PARAM_STR, 400); // STR - ԡ񣵣h
  67. $stmt->bindParam(':status', $this->status, PDO::PARAM_INT, 3);
  68. $stmt->bindParam(':y', $this->y, PDO::PARAM_STR,10);
  69. $stmt->bindParam(':x', $this->x, PDO::PARAM_STR,10);
  70. $stmt->bindParam(':data1', $this->data1, PDO::PARAM_STR, 40); // STR - ԡ񣵣h
  71. $stmt->bindParam(':data2', $this->data2, PDO::PARAM_STR, 40); // STR - ԡ񣵣h
  72. $stmt->bindParam(':data3', $this->data3, PDO::PARAM_STR, 40); // STR - ԡ񣵣h
  73.  
  74.  
  75. $ilosc = $stmt -> execute();
  76.  
  77. if($ilosc > 0)
  78. {
  79. $_SESSION['info']='edycja miasta powiodła się ';
  80. }
  81. else
  82. {
  83. $_SESSION['info']='problem z edycją miasta';
  84. }
  85.  
  86. }
  87. catch(PDOException $e)
  88. {
  89. echo 'blad db : ' . $e->getMessage();
  90. }
  91.  
  92.  
  93. }


Ten post edytował jeremiash 15.12.2012, 19:37:48
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: 22.08.2025 - 20:51