Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql_fetch_array ze zdefiniowanym $sql...
Forum PHP.pl > Forum > Bazy danych > MySQL
Vertical
Oto kawałek skryptu:

  1. <?php
  2. if($orderby == 'naglowek'):
  3. $sql = &#092;"select * from post order by 'naglowek'\";
  4. elseif($orderby == 'data'):
  5. $sql = &#092;"select * from post order by 'data'\";
  6. elseif($orderby == 'podpis'):
  7. $sql = &#092;"select * from post order by 'podpis'\";
  8. elseif(isset($_POST['submit'])):
  9. $sql = &#092;"select * from post where podpis = '$autor'\";
  10. else:
  11. $sql = &#092;"select * from post\";
  12. endif;
  13.  
  14. $result = mysql_query($sql);
  15. while($row = mysql_fetch_array($result)) {
  16. printf(&#092;"naglowek\",
  17. $row[&#092;"naglowek\"]);
  18. printf(&#092;"<br>Nadesłano: %s<hr>n\",
  19. $row[&#092;"date\"]);
  20. printf(&#092;"%s</td></tr>n\",
  21. $row[&#092;"body\"]);
  22. }
  23. ?>


...I interpreter wyświetla błąd:
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\apache group\program\apache\htdocs\formularz\forum.php3 on line 33"
Co złego jest zdefiniowanego w $sql?
halfik
kod wygloda poprawnie.

sprobuj sprawdzic jak wyglada wartosc zmiennej $sql przed wykonaniem zapytania. wystarczy zwykle echo "$sql".

p.s a wczesniej nawiazales polaczenie z baza danych? czy baza wogole jest wlaczona?

hmmm... tak wogole to po wyslaniu zapytania zapodaj: mysql_error();
FiDO
Nazw tabel/pól nie umieszcza sie w apostrofach!! Jak juz to w `` (tam gdzie tylda), ale to jest koniecznie tylko jak nazwa zawiera niedozwolone znaki, badz zastrzezone slowa.
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.