Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]nie działa zapytanie ?
Forum PHP.pl > Forum > Przedszkole
gizmo1985
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
Pilsener
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
gizmo1985
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 ...
Pilsener
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ę.
gizmo1985
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']}%'";
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.