Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Blad w wyszukiwarce....
Forum PHP.pl > Forum > Przedszkole
detter
Witam!
Kiedyś na forum znalazłem podpowiedz jak wykonać wyszukiwarkę. Teraz gdy tego potrzebowałem - nie moge tego wątku namierzyć...
W każdym razie stworzyłem takie coś:

  1. <?    
  2. $zapytanie = "SELECT * FROM baza WHERE
  3. id_og                 LIKE '%$szukane%' OR
  4. nazwa                 LIKE '%$szukane%' OR
  5. miasto                   LIKE '%$szukane%' OR
  6. kategoria                      LIKE '%$szukane%' OR
  7. obiekt                   LIKE '%$szukane%' OR
  8. wieksze_miasto                LIKE '%$szukane%' OR
  9. wojewodztwo            LIKE '%$szukane%' OR
  10. ulica                         LIKE '%$szukane%' OR
  11. tel                     LIKE '%$szukane%' OR
  12. tel2                     LIKE '%$szukane%' OR
  13. adres_email                 LIKE '%$szukane%' OR
  14. strona_www             LIKE '%$szukane%'
  15. ";
  16. $dzialaj=mysql_query($zapytanie);
  17. while ($pole = mysql_fetch_row($dzialaj))
  18. {
  19. ?>


Niestety nie działa....
Ale co ciekawe, zaczyna działać jak wywale kilka argumentów:
tj. tak:


  1. <?    
  2. $zapytanie = "SELECT * FROM baza WHERE
  3. id_og                 LIKE '%$szukane%' OR
  4. nazwa                 LIKE '%$szukane%' OR
  5. miasto                   LIKE '%$szukane%' OR
  6. kategoria                      LIKE '%$szukane%' OR
  7. obiekt                   LIKE '%$szukane%' OR
  8. wieksze_miasto                LIKE '%$szukane%'
  9.  
  10. ";
  11. $dzialaj=mysql_query($zapytanie);
  12. while ($pole = mysql_fetch_row($dzialaj))
  13. {
  14. ?>


Czyli od Województwa do końca... w innych przypadkach nie działa.. O dziwo samo wywalenie województwa też nie daje rezultatu...
PS. Zgodność nazw z bazą danych sprawdzałem kilka razy...

Ma ktoś może pomysł co jest nie tak?
A może łatwiejsze rozwiązanie?

Z góry dzięki za pomoc.
wookieb
Kod
echo mysql_error();

I bedziesz widział błąd.
detter
Błąd wyświetla taki:


Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\projekty_www\szukaj.php on line 21


A linia 21 to:

  1. <?    
  2. $zapytanie = "SELECT * FROM baza WHERE
  3. id_og                 LIKE '%$szukane%' OR
  4. nazwa                 LIKE '%$szukane%' OR
  5. miasto                   LIKE '%$szukane%' OR
  6. kategoria              LIKE '%$szukane%' OR
  7. obiekt                   LIKE '%$szukane%' OR
  8. wieksze_miasto        LIKE '%$szukane%' OR
  9. wojewodztwo            LIKE '%$szukane%' OR
  10. ulica                 LIKE '%$szukane%' OR
  11. tel                     LIKE '%$szukane%' OR
  12. tel2                     LIKE '%$szukane%' OR
  13. adres_email         LIKE '%$szukane%' OR
  14. strona_www             LIKE '%$szukane%'
  15. ";
  16.                        $dzialaj=mysql_query($zapytanie);
  17. 21 TO TA-      while ($pole = mysql_fetch_row($dzialaj))
  18.                        {
  19. ?>
kowalcook
spróbuj użyć zamiast mysql_fetch_row funkcji mysql_fetch_array
detter
  1. <?php
  2. Warningmysql_fetch_array(: supplied argument is not a valid MySQL result resource in cusrkrasnalwwwprojekty_wwwszukaj.php on line 21
  3. ?>


sad.gif Może jeszcze jakis pomysl?
wookieb
Kod
echo mysql_error();

CZYTAJ CO SIE DO CIEBIE PISZE! Daj ten kod po zapytaniu.
detter
Przepraszam, ale nie bardzo wiedziałem jak użyć mysql_error(). Wklejałem w zapytaniu na różne sposoby i nic mi nie wyświetlało prócz zgłoszenego błędu w linii 21...
Ale stwierdzenie "daj ten kod po zapytaniu" rozjaśniło sprawę smile.gif

Jest tak:

  1. <?php
  2. Nieznana kolumna 'wojewodztwo' w where clause
  3. ?>


Czyli już wiem gdzie jest problem, tylko jeszcze nie wiem jaki...

kolumna "wojewodztwo" w bazie jest, literówki nie ma żadnej... Dla pewności zmieniłem na "woje" aby krótsze było... i....
mam:

  1. <?php
  2. Nieznana kolumna 'ulica' w where clause
  3. ?>


Czyli następny punkt...

Może za dużo OR jest? Czy to możliwe?









------------------------------------------
JUZ WIEM!!!!
Problem rozwiązany.... bardzo głupia sprawa...
ale w bazie miałem zamiast
"wojewodztwo" to
"wojewodztwo "

Przy ulicy też tak było...
i jeszcze przy dwóch pozycjach na końcu struktury tabeli.

Czyli za spacją na końcu.... nie mam pojęcia dlaczego tak baza powstała ale tak się stało...
Dla oka bez znaczenia, a dla mysql - niewybaczalne....
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.