Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problemy z bindParam i bindValue
pakosphp
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.11.2006

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


Pomimo moich usilnych starań nie moge podpiąć danych do zapytania
kod:
  1. <?php
  2. $stmt = $db->prepare('INSERT INTO szczegoly_projektu (IDprojektu,Data,OpisPozycjiProjektu,Czas_Koszt) VALUES(IDprojektu=? ,Data=? ,OpisPozycjiProjektu=? ,Czas_Koszt=?)');
  3. $stmt -> bindParam(1, 17);
  4. $stmt -> bindParam(3, 17);
  5. $stmt -> bindParam(3, 17);
  6. $stmt -> bindParam(4, 17);
  7. $stmt -> execute();
  8. ?>

otrzymuje odpowiedz: Fatal error: Cannot pass parameter 2 by reference in...

probowalem tez tak:
  1. <?php
  2. $stmt = $db->prepare('INSERT INTO szczegoly_projektu (IDprojektu,Data,OpisPozycjiProjektu,Czas_Koszt) VALUES(IDprojektu= :IDprojektu,Data= :Data,OpisPozycjiProjektu= :OpisPozycjiProjek
    tu,Czas_Koszt= :Czas_Koszt)'
    );
  3. $stmt -> bindValue(':IDprojektu', 17, PDO::PARAM_INT);
  4. $stmt -> bindValue(':Data', 17, PDO::PARAM_INT);
  5. $stmt -> bindValue(':OpisPozycjiProjektu', 17, PDO::PARAM_STR);
  6. $stmt -> bindValue(':Czas_Koszt', 17, PDO::PARAM_INT);
  7. $stmt -> execute();
  8. ?>

nie ma błedów dodaje wiersz do bazy ale wszystkie wartości są 0

Nie mam pojęcia gdzie robie błąd patrze w ten kod i już dostaje oczoplasów. Pomocy rodacy.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Nie mozesz przypinac wartosci (jak 17, "string", itp), tylko ZMIENNE, w ten sposob:

  1. <?php
  2. $x = 17;
  3. $stmt -> bindValue(':IDprojektu', $x, PDO::PARAM_INT);
  4. ?>

tzn ta poprzednia wersja tez mozesz -- najwazniejsze jest przekazanie zmiennej a nie wartosci
Go to the top of the page
+Quote Post
pakosphp
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.11.2006

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


Dzieki dr_bonzo
Jak już ten temat poruszyłem to jeszcze sie spytam czy parametry bindValue mogą wyglądać tak:
  1. <?php
  2. $x = 17;
  3. $x_2 = 3;
  4. $y = 'Opis';
  5.  
  6. $stmt -> bindValue(':'.$y.'projektu', $x+$x_2, PDO::PARAM_INT);
  7. //--co da------------ ':Opisprojektu', $(10)
  8. ?>
Go to the top of the page
+Quote Post
NuLL
post
Post #4





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


pakosphp - a czemu nie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
pakosphp
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.11.2006

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


Nie wiem czemu bindValue niechce dzialac mi poprawnie ale na szczescie bindParam dziala.
błąd robiłem zdaje sie w samym zapytaniu
  1. <?php
  2. VALUES(IDprojektu=,Data=,OpisPozycjiProjektu=,Czas_Koszt=?)
  3. ?>

zadzialalo jak zrobilem tak
  1. <?php
  2. VALUES(,,,?)
  3. ?>
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


NO tak, nie zwrocilem uwagi na poprawnosc zapytania (bylo dostepne dopiero po przewinieciu kodu) -- po prostu blad skladni SQL.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 07:53