Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL][PHP]Zapytanie pdo świruje
Forum PHP.pl > Forum > Przedszkole
miras
Witam, mam taką funkcję:

  1. public function calendar($priority, $user_email) {
  2. $this->messages = $this->pdo->query("SELECT id, user_email, priority, topic, content, date FROM calendar WHERE `priority`='{$priority}' AND `user_email`='{$user_email}' OR `user_email`='0' ORDER by id ASC");
  3. return $this->messages;
  4. }


jest tutaj coś źle? bo zwraca mi głupoty, wcale nie się nie "słucha" warunków zapytania.

Dzięki z góry!
nospor
podstawy logiki i matematyki

2 * 3 + 4
to nie to samo co
2 * ( 3 + 4 )
miras
Nie łapię ? businesssmiley.png

Jeżeli chodziło o to:

  1. public function calendar($priority, $user_email) {
  2. $this->messages = $this->pdo->query("SELECT id, user_email, priority, topic, content, date FROM calendar WHERE `priority`='{$priority}' AND (`user_email`='{$user_email}' OR `user_email`='0') ORDER by id ASC");
  3. return $this->messages;
  4. }


to niestety bez zmian...
nospor
Tak, chodzilo mi wlasnie o to.

Nadal bez zmian powiadasz? Zmiany co zrobileś, dają diametralnie inny wynik, bo to zupełnie inny warunek logiczny.
Baza sama z siebie nie pluje nigdy głupotami. Zapamietaj to. Wina leży gdzieś po Twojej stronie wink.gif

1) Sprawdz dokładnie jak wygląda wygenerowane zapytanie. Byc moze wydaje ci sie, ze przekazujesz zmienne o innej wartosci
echo "SELECT id, user_email, priority, topic, content, date FROM calendar WHERE `priority`='{$priority}' AND (`user_email`='{$user_email}' OR `user_email`='0') ORDER by id ASC";

2) Jak dla mnie masz bardzo dziwny zapis do tabel, ze pusty email w bazie oznaczasz jako ZERO.... toż to dziwne, zeby nie powiedziec ze poronione tongue.gif Pusty email to pusty email i ma byc oznaczany jako pusty tekst a nie liczba 0

3) Jesli nadal masz zle wyniki, czyli inne niż oczekujesz, to pokaz przykładowe wpisy w tabeli po czym napisz jakich wynikow oczekujesz
miras
Ok, problem leżał szczerze mówiąc gdzie indziej, ale te nawiasy w zapytaniu też były potrzebne.

To jest kawałek kodu do obsługi wiadomości, wysyłanych do użytkowników i jeżeli wiadomość jest do wszystkich to w polu user_mail wpisuje 0, a jeżeli do konkretnych userów to wpisuje ich adres e-mail - tak to wymyśliłem i nie chciałem zostawiać pustego pola smile.gif

Dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.