Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]wyszukiwarka//
Forum PHP.pl > Forum > Przedszkole
pyruu
Witam, wywala mi błąd nr.
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\Programy\WebServ\httpd\test.php on line 40
Może dostane jakąś podpowiedź gdzie jest błąd?, bo na ten moment go nie zauważam, Z góry dzięki.




  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head>
  3. <form action="test.php" method="post">
  4. <input type="text" name="fraza" value="<?php echo $_POST["fraza"]; ?>" />
  5. <select name="searchType">
  6. <option value="nr_spr_c" selected="selected">Nr</option>
  7. <option value="im_dlu">Imie</option>
  8. <option value="imie">data od</option>
  9. <option value="imie">data do</option>
  10.  
  11.  
  12. </select>
  13. <input type="submit" value="Szukaj" />
  14. </form>
  15.  
  16. <?
  17. include("funkcje.php");
  18. include("glob_zm.php");
  19. $eror = polacz_z_baza();
  20. mysql_select_db("lokatorzy");
  21.                
  22.                
  23.  
  24. $sql = "SELECT * FROM $Dane_Zlec"; if(isSet($_POST["fraza"]))
  25. {
  26. $sql.= " WHERE ".$_POST["searchType"]." = '".$_POST['fraza']."'";
  27.  
  28. }
  29. if(isSet($_POST['fraza']) && isSet($_POST['searchType']))
  30. {
  31. $wynik = mysql_query($sql);
  32. if(mysql_num_rows($wynik)>0)
  33. {
  34. ?>
  35.  
  36. <table width="100%" border="2" align="center" class="styl2">
  37.  
  38. <tr><th>Nr</th><th>Imie</th></tr>
  39. <?
  40. while($wiersz = mysql_fetch_array($wynik))
  41. {
  42. ?>
  43. <tr><td><? echo $wiersz['nr_spr_c']; ?></td><td><? echo $wiersz['im_dlu']; ?></td></tr>
  44. <?
  45. }
  46. ?>
  47. </table>
  48. <?
  49. }
  50. else
  51. {
  52. echo "Brak wynikow";
  53. }
  54. }
  55. else
  56. {
  57. echo "Nie wprowadzono kryteriów wyszukiwania";
  58. }
  59.  
  60. ?>
  61. </body>
  62. </html>
  63.  
  64. <?
  65. ?>
ddiceman
Zapewne blad z zapytaniem, ktorego MySQL nie moze wykonac. Po pierwsze, zeby zabezpieczyc przed bledem, zmien
  1. <?php
  2. if(mysql_num_rows($wynik)>0)
  3. ?>

na
  1. <?php
  2. if($wynik !== false && mysql_num_rows($wynik)>0)
  3. ?>

Po drugie, zeby sprawdzic, w czym tkwi blad za
  1. <?php
  2. else
  3. {
  4. echo "Nie wprowadzono kryteriów wyszukiwania";
  5. }
  6. ?>

dodaj
  1. <?php
  2. var_dump($sql);
  3. ?>

to zobaczysz, w czym tkwi blad (ew. jak bedziesz mial problemy to wklej tutaj)
pyruu
teraz wywala mi taki błąd...
Brak wynikowstring(38) "SELECT * FROM WHERE nr_spr_c = '1065'" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE nr_spr_c = '1065'' at line 1

to jest błąd zapytania.. tylko jak go poprawić?
nospor
no po FROM a przed WHERE brakuje ci nazwy tabeli, czyli $Dane_Zlec jest puste...
pyruu
czyli?
  1. [/b]
  2. $sql = "SELECT * FROM $Dane_Zlec"; IF(isSet($_POST["fraza"]))
  3. {
  4. $sql.= " nr_spr_c and im_dlu WHERE ".$_POST["searchType"]." = '".$_POST['fraza']."'";
  5. [b]

tak wywala błąd: Parse error: parse error, unexpected T_ELSE in D:\Programy\WebServ\httpd\test.php on line 66
ddiceman
Nie, nie chodzi o to. nospor mial na mysli, ze wartosc zmiennej $Dane_Zlec jest pusta, czyli nie przekazujesz do zapytania nazwy tabeli.
Przed linia
  1. <?php
  2. $sql = "SELECT * FROM $Dane_Zlec"; if(isSet($_POST["fraza"]))
  3. ?>

Powinienes miec gdzies instrukcje
  1. <?php
  2. $Dane_Zlec = ...; // tutaj nazwa tabeli, gdzie trzymasz zlecenia(?)
  3. ?>

Bo tworzy Ci sie zapytanie
  1. SELECT * FROM WHERE nr_spr_c = '1065'

zamiast np.
  1. SELECT * FROM zlecenia WHERE nr_spr_c = '1065'
pyruu
teraz po zastosowaniu się do wskazówek, wywala mi znowu taki błąd:
Brak wynikowstring(46) "SELECT * FROM nr_spr_c WHERE nr_spr_c = '4078'" Table 'lokatorzy.nr_spr_c' doesn't exist

skaładnia zapytania wydaje się już dobra...
  1. [/b]
  2. $Dane_Zlec = nr_spr_c AND im_dlu;
  3. $sql = "SELECT * FROM $Dane_Zlec"; IF(isSet($_POST["fraza"]))
  4. {
  5. $sql.= " WHERE ".$_POST["searchType"]." = '".$_POST['fraza']."'";
  6. [b]
nospor
pyruu no kurcze, mysl troche.

Komunikat bledu wyrażnie mowi: tabela nr_spr_c nie istnieje!

ps: i co to za nazwa tabeli:
$Dane_Zlec = nr_spr_c and im_dlu;
?
Wiesz co to tabela?
pyruu
OK wszytko działa, dzięki chłopaki.
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.