Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Dziwne (?) zachowanie zapytania (fukcji)
zaaap
post 5.12.2008, 22:31:03
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


Witam,
Problem może trywialny, bo chodzi o zwykłe zapytania. Formularz do edycji danych o userze. Zapytania wyglada nastepujaco:
  1. <?php
  2. function uaktualnij($nazwa_uz, $email, $nazwisko, $klass)
  3.  
  4. {
  5.  
  6.  $lacz = lacz_bd();
  7.  
  8.  $wynik = $lacz->query("update autorzy set pelne_nazwisko = '$nazwisko', email = '$email', klasa = '$klass' where nazwa_uz = '$nazwa_uz'");
  9.  if (!$wynik)
  10. throw new Exception('Modyfikacja w bazie danych niemożliwa, proszę spróbować później...'.$nazwa_uz.', '.$email.', '.$nazwisko.', '.$klass.' '.mysql_error);
  11.  
  12.  return true;
  13. }
  14. ?>

Zwraca true, gdyz wyswietlany jest komunikat o pomyslnej operacji, lecz w bazie danych nie nastepuja zadne zmiany! Nawet zastapienie pustymi ciagami, no nic.
Wtedy pomyslalem zeby 'zepsuc' zapytanie i dalem update sautorzy <-(takiej tablicy nie ma). I moim oczom ukazał sie wyjatek zawierajacy "Modyfikacja w bazie.." oraz wszystkie zmienne tak jak je chcialem umiescic w bazie! Natomiast mysql_error wyswietlany jest po prostu jako napis "mysql_error", zadnego bledu jako takiego.

Proszę o pomoc :/

Ten post edytował zaaap 5.12.2008, 22:32:02
Go to the top of the page
+Quote Post
erix
post 5.12.2008, 22:47:21
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. ?>

a nie przypadkiem:
  1. <?php
  2. ?>

?


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
zaaap
post 5.12.2008, 22:50:52
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


Ok dalem jak napisales, lecz teraz nie ma zadnego błedu. Po prostu za '$klass' jest pusto.
Ale nadal głownym problem jest to, ze po prostu rekordy nie sa modyfikowane.

Ten post edytował zaaap 5.12.2008, 22:52:41
Go to the top of the page
+Quote Post
erix
post 5.12.2008, 22:52:54
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Zwraca true, gdyz wyswietlany jest komunikat o pomyslnej operacji, lecz w bazie danych nie nastepuja zadne zmiany! Nawet zastapienie pustymi ciagami, no nic.

Skoro zapytanie nie zwraca błędów, to do głowy przychodzi mi już tylko złe podstawienie warunku do klauzuli WHERE...

Wypluj treść samego zapytania i spróbuj wykonać je ręcznie.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
zaaap
post 5.12.2008, 22:54:45
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


Recznie wszystko działa. A co do mysql_error() to dałem mysqli_error() i blad wyswietla (po podaniu blednej tablicy oczywiscie)
Go to the top of the page
+Quote Post
erix
post 5.12.2008, 22:56:41
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale przy wygenerowanym przez funkcję zapytaniu (co do joty), czy ręcznie podstawiałeś wartości? Może zacytuj wygenerowane zapytanie.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
zaaap
post 5.12.2008, 22:59:52
Post #7





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


Recznie, dokladnie tak jak jest, czyli wpisalo mi $nazwisko, $email z tymi dolarami.
Moze jeszcze dodam, ze kontrukcja formularza jest nastepujaca:

Kod
<input size="30" name="email" value="<?php echo $strony['email']; ?>

I boje sie, ze jakims cudem zawsze bedzie przekazywane pierwotne echo $strony...
jesli jednak tak sie dzieje, to jak to naprawic?

Ten post edytował zaaap 5.12.2008, 23:05:36
Go to the top of the page
+Quote Post
erix
post 5.12.2008, 23:07:54
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wybacz, ale trochę nie bardzo zrozumiałem, co masz teraz na myśli:

Cytat
Recznie, dokladnie tak jak jest, czyli wpisalo mi $nazwisko, $email z tymi dolarami.

Czyli nie podstawia do zmiennych?

Cytat
I boje sie, ze jakims cudem zawsze bedzie przekazywane pierwotne echo $strony...

Yyyyy...? A jak wywołujesz tą funkcję, o której piszesz?


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
zaaap
post 5.12.2008, 23:11:26
Post #9





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 13.11.2008

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


1) Chodzilo mi ze wstukujac te zapytanie w phpmyadmienie wszystkie umieszcza prawidłowo.

2) Wywoluje to tak:

  1. <?php
  2. ...
  3. $email=$_POST['email'];
  4.  $nazwa_uz=$_POST['nazwa_uz'];
  5.  $nazwisko=$_POST['nazwisko'];
  6.  $klass=$_POST['klass'];
  7.  
  8. ...
  9.  
  10. if (isset($_REQUEST['update']) && $_REQUEST['update']!='')
  11. {
  12.   uaktualnij($nazwa_uz, $email, $nazwisko, $klass);
  13. ...
  14. ?>
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 Wersja Lo-Fi Aktualny czas: 6.07.2025 - 12:18