Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Skrypt wyszukiwarki
Forum PHP.pl > Forum > Przedszkole
Prezesik
  1. elseif(isset($_GET['akta']) && $_GET['akta']=='szukaj'){
  2. $szukaj=$_POST['imie'];
  3. $wynik=mysql_escape_string(mysql_query("SELECT * FROM cywile WHERE imie LIKE '%$szukaj%' order by imie ASC"));
  4. while($wiersz=mysql_fetch_array($wynik))
  5. {
  6. echo 'Znalezieni cywile to:';
  7. echo $wiersz;
  8. }
  9. }


kolejna nie przespana noc nad kodowaniem, no i tutaj się zatrzymałem. Co jest źle? Wyskakuje błąd
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource (Wiem co to znaczy po polsku).
A to mój formularz który pobudza tego if'a do pracy. Dopomóżcie smile.gif

  1. <form action="admin.php?akta=szukaj" method="post">
  2. Wpisz Imię: <input type="text" name="imie" />
  3. <input type="submit" value="Szukaj!" />
  4. </form>
darophp
Rozwiązanie: http://nospor.pl/php-faq.html#faq-6
Prezesik
Wiesz że nic mi to nie mówi na zmęczony umysł?
skarabe.pl
Usuń wywołanie mysql_escape_string - jest zupełnie bez sensu w tym miejscu.
Gelio
Tak jak powiedzieli wyżej, usuń mysql_escape_string lub, jeżeli go naprawdę potrzebujesz spróbuj tak:
  1. $wynik=mysql_query(mysql_escape_string("SELECT * FROM cywile WHERE imie LIKE '%$szukaj%' order by imie ASC"));


Powinieneś najpierw wykonać escape_string, które jako parametr przyjmuje ciąg znaków, a nie uchwyt do zapytania.
skarabe.pl
Cytat(Gelio @ 14.08.2010, 11:19:17 ) *
Tak jak powiedzieli wyżej, usuń mysql_escape_string lub, jeżeli go naprawdę potrzebujesz spróbuj tak:

Jak już, to tutaj:
  1. $szukaj=mysql_escape_string($_POST['imie']);

Twoja propozycja uszkodzi całe zapytanie.
Prezesik
Dzięki za pomoc wszystkim, wczoraj wałśnie inaczej pomyślałem (dokłądnie to dzisiaj o 1 w nocy ;f) i udało się smile.gif
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.