Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]nie działa zapytanie ?
gizmo1985
post 6.03.2010, 19:48:42
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


Witajcie ..
Robię wyszukiwarkę i skleiłem duuuże zapytanie z kilku tabel, ale nie działa :/ NIe wiem dlaczego...zapytanie chyba jest poprawne, ale nie działa smile.gif
  1. $query = "Select * From o.osoba, p.praca, w.wyksztalcenie, k.kurs, j.jezyk Where o.id= '".$_SESSION['user_id']."' AND p.id_osoby = '".$_SESSION['user_id']."' AND w.id_osoby = '".$_SESSION['user_id']."' AND k.id_osoby = '".$_SESSION['user_id']."' AND j.id_osoby = '".$_SESSION['user_id']."' AND o.login Like '%{$_POST['login']}%' AND o.imie Like '%{$_POST['imie']}%'".
  2. "AND o.nazwisko Like '%{$_POST['nazwisko']}%' AND o.data_ur Like '%{$_POST['data_ur']}%' AND o.miasto Like '%{$_POST['miasto']}%' AND o.wojewodztwo Like '%{$_POST['wojewodztwo']}%' AND o.kod_pocztowy Like '%{$_POST['kod_pocztowy']}%' AND o.nr_tel Like '%{$_POST['nr_tel']}%' AND o.email Like '%{$_POST['email']}%' AND o.kat_prawa_jazdy Like '%{$_POST['kat_prawa_jazdy']}%' AND p.nazwa_pracodawcy Like '%{$_POST['nazwa_pracodawcy']}%' AND p.od_do Like '%{$_POST['od_do']}%' AND p.stanowisko Like '%{$_POST['stanowisko']}%' AND j.jezyk Like '%{$_POST['jezyk']}%' AND j.stopien_zaawansowania Like '%{$_POST['stopien_zaawansowania']}%' AND k.nazwa_kursu Like '%{$_POST['nazwa_kursu']}%' AND k.stopien_kursu Like '%{$_POST['stopien_kursu']}%' AND k.tytul_uzyskany Like '%{$_POST['tytul_uzyskany']}%'".
  3. "AND w.nazwa_szkoly Like '%{$_POST['nazwa_szkoly']}%'";
  4.  
  5. $result = mysql_query($query);
  6. $obAmount = mysql_num_rows($result);
  7. IF ($obAmount == 0)
  8. {
  9. echo 'NIE ZNALEZIONO OSÓB SPEŁNIAJĄCYCH TE KRYTERIA !!!';
  10. }
  11. else
  12. {



Wyświetla mi się błąd :

  1. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\rejestracja\wynik.php on line 25
  2. NIE ZNALEZIONO OSÓB SPEŁNIAJĽCYCH TE KRYTERIA !!!
]


gdzie linia 25 to :

  1. $obAmount = mysql_num_rows($result);






Co robię źle ?

Pozdrawiam smile.gif
Go to the top of the page
+Quote Post
Pilsener
post 6.03.2010, 20:01:24
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat
Co robię źle ?
- ogólnie? To wszystko.

1. Podstawy pracy z bazą:
  1. if(mysql_query($zapytanie)){
  2. //sukces
  3. }else{
  4. //porażka
  5. }
- sprawdzaj, czy zapytanie wykonało się poprawnie i czy baza nie zwraca błędów

2. Poczytaj o walidacji danych odbieranych od użytkownika
3. I o konstruowaniu prostych selectów, wyszukiwanie nie zaczyna się i nie kończy na LIKE
Go to the top of the page
+Quote Post
gizmo1985
post 6.03.2010, 20:03:09
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


no tak, ale w krótszej formie dla dwóch tabel taki układ działał.....problem się pojawił, gdy rozbudowałem zapytanie...
Użyłem LIKE, ponieważ chyba nic więcej mi nie jest potrzebne ...
Go to the top of the page
+Quote Post
Pilsener
post 6.03.2010, 20:06:28
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Patrz punkt 1 - odbierz błąd z bazy, to będziesz wiedział co nie gra - to są absolutne podstawy! Nie możesz pisać kodu z nadzieją, że zadziała, masz sprawdzać każdą operację.
Go to the top of the page
+Quote Post
gizmo1985
post 6.03.2010, 20:29:03
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 19.01.2010

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


Table o.osoba, p.praca i.t.p not exist :/

Jak to nie istnieją, jak istnieją biggrin.gif
już wiem biggrin.gif

osoba as o biggrin.gif

Zmodyfikowałem zapytanie, ale chyba źle dokonałem porównania kluczy ... Może jakaś podpowiedź ?

Generalnie id to identyfikator osoby, dla któej znajdujemy resztę ... czyli PK tabeli osoba

id_osoby to FK pozostałych tabel


Zmodyfikowane zapytanie :

  1. $query = "Select * From osoba as o, praca as p, wyksztalcenie as w, kurs as k, jezyk as j Where o.id = p.id_osoby AND o.id = k.id_osoby AND o.id = w.id_osoby AND o.id = j.id_osoby AND o.login Like '%{$_POST['login']}%' AND o.imie Like '%{$_POST['imie']}%'".
  2. "AND o.nazwisko Like '%{$_POST['nazwisko']}%' AND o.data_ur Like '%{$_POST['data_ur']}%' AND o.miasto Like '%{$_POST['miasto']}%' AND o.wojewodztwo Like '%{$_POST['wojewodztwo']}%' AND o.kod_pocztowy Like '%{$_POST['kod_pocztowy']}%' AND o.nr_tel Like '%{$_POST['nr_tel']}%' AND o.email Like '%{$_POST['email']}%' AND o.kat_prawa_jazdy Like '%{$_POST['kat_prawa_jazdy']}%' AND p.nazwa_pracodawcy Like '%{$_POST['nazwa_pracodawcy']}%' AND p.od_do Like '%{$_POST['od_do']}%' AND p.stanowisko Like '%{$_POST['stanowisko']}%' AND j.jezyk Like '%{$_POST['jezyk']}%' AND j.stopien_zaawansowania Like '%{$_POST['stopien_zaawansowania']}%' AND k.nazwa_kursu Like '%{$_POST['nazwa_kursu']}%' AND k.stopien_kursu Like '%{$_POST['stopien_kursu']}%' AND k.tytul_uzyskany Like '%{$_POST['tytul_uzyskany']}%'".
  3. "AND w.nazwa_szkoly Like '%{$_POST['nazwa_szkoly']}%'";


Ten post edytował gizmo1985 6.03.2010, 20:19:05
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: 20.07.2025 - 08:21