Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MSSQL][PHP]Zapytanie pdo świruje, jw
miras
post
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


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!


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




podstawy logiki i matematyki

2 * 3 + 4
to nie to samo co
2 * ( 3 + 4 )


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
miras
post
Post #3





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


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...

Ten post edytował miras 4.02.2015, 20:07:46


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
miras
post
Post #5





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


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.


--------------------
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 Aktualny czas: 19.08.2025 - 20:31