Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql]Problem z aktualizacją bazy, Problem z aktualizacją bazy
wrozansk
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 5.05.2012

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


Witam,

Mam problem z jedną funkcją.

  1. public function inkrementujLiczbeSztuk($idKsiazki, $idSesji)
  2. {
  3. $query = "UPDATE 'koszyk' SET 'liczba_sztuk' = '(liczba_sztuk + 1)' where 'id_ksiazki' = '$idKsiazki' and 'id_sesji' = '$idSesji'";
  4. mysql_query($query);
  5. }



Wywołanie funkcji wygląda następująco:

  1. if(isset($_POST['id_ksiazki'])) {
  2. if($koszyk->czyIstnieje($_POST['id_ksiazki'], session_id())) {
  3. // ksiazka już istnieje w koszyku, zwiększ ilość
  4. // TODO: dodać odpowiednią funkcjonalnoś
  5. if($koszyk->inkrementujLiczbeSztuk($_POST['id_ksiazki'], session_id()));
  6. echo 'ok';
  7. } else {
  8. // książki nie ma w koszyku, dodaj do koszyka
  9. if($koszyk->dodaj($_POST['id_ksiazki'], session_id()))
  10. echo 'ok';
  11. }
  12. }


Jest tu też zawarta funkcja dodaj, która działa bez zarzutu. Na wypadek jakby było potrzebne, oto kod tej funkcji:

  1. public function dodaj($idKsiazki, $idSesji)
  2. {
  3. $dane = array(
  4. 'id_ksiazki' => $idKsiazki,
  5. 'id_sesji' => $idSesji
  6. );
  7.  
  8. return $this->_db->insert('koszyk', $dane);
  9. }


Próba wywołania następującego zapytania w bazie danych kończy się sukcesem:
  1. UPDATE koszyk SET liczba_sztuk = (liczba_sztuk + 1) WHERE id_ksiazki = '1' AND id_sesji = 'b93cd08a37eea98dab1f4f5ad0be63e8'


Niestety wywołanie funkcji php nie zwiększa liczby sztuk. Zostawia ją nietkniętą.

Czy może mi ktoś wyjaśnić gdzie leży błąd? Czy jest to składnia funkcji, czy może jej wywołanie?

Pozdrawiam,
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: 11.10.2025 - 03:58