Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php] problem z zapytaniem
Forum PHP.pl > Forum > Przedszkole
kosheen2k
Witam chciałem zapytać gdzie mam błąd w tym zapytaniu:

  1. <?php
  2. $sql = "SELECT * FROM `glowna` WHERE kategoria=`" . $kategoria . "` ORDER BY `id` DESC LIMIT " . $limit . ",3";
  3. ?>


bo gdy za pomocą:

  1. <?php
  2. while($zpt = mysql_fetch_array($wynik))
  3. ?>


robię funkcję która ma mi zwrócić x rekordów to wypisuje mi że:

"mysql_fetch_array(): supplied argument is not a valid MySQL result resource"


Pozdrawiam. Wiem, że to trywialnie proste, ale gdy nie ma "WHERE kategoria=" zwraca mi rekordy bez problemu... nie można stosować where i order by razem? albo where i limit?
Gość
A mysql_query gdzies dajesz ?
kosheen2k
tak daje:

  1. <?php
  2. $lacz = lacz_bd();
  3.  $sql = "SELECT * FROM `glowna` WHERE kategoria=` ".$kategoria. "` ORDER BY `id` DESC LIMIT". $limit .",3";
  4. $wynik = mysql_query($sql, $lacz);
  5. ?>


jak zrobilem

  1. <?php
  2. echo $sql;
  3. ?>


dostałem coś takiego:

"SELECT * FROM `glowna` WHERE kategoria=`restauracje` ORDER BY `id` DESC LIMIT 0,3" - czyli wszystko OK - ale mysql_fetch_row() tego nie trawi :/

więc gdzie tkwi problem?
skowron-line
  1. <?php
  2. $sql = "SELECT * FROM glowna WHERE kategoria=` ".$kategoria. "` ORDER BY id DESC LIMIT ' ". $limit ." ' ,3";
  3. ?>


looknij tak
kosheen2k
dostaję:

"SELECT * FROM glowna WHERE kategoria=` restauracje` ORDER BY id DESC LIMIT ' 0 ' ,3" - a to jest źle...

nie mam już siły do tego

gdy daje tak:

  1. <?php
  2. $sql = "SELECT * FROM glowna ORDER BY id DESC LIMIT ". $limit .",3";
  3. ?>

jest ok....

POMOCY! :*

znalazłem odpowiedź smile.gif

oto ona:

  1. <?php
  2. $sql = "SELECT * FROM `glowna` WHERE `kategoria`="".$kategoria. "" ORDER BY `id` DESC LIMIT ". $limit .",3";
  3. ?>


trzeba było zrobić:

WHERE `kategoria` = " . $kategoria ." [...].

Pozdrawiam i dziękuję za posty.
skowron-line
  1. <?php
  2. $kategoria = "inf";
  3. $limit = "0";
  4.  
  5. $sql = 'SELECT tytul FROM notatki WHERE kategoria = "'.$kategoria. '" ORDER BY id_notatki DESC LIMIT '. $limit .',3 ';
  6. echo $sql;
  7. $query = mysql_query($sql);
  8. while($wiersz = mysql_fetch_array($query))
  9. {
  10. echo"".$wiersz['tytul']."";
  11. }
  12. ?>


sprawdzone

edit
no ale pomoc przyszla za pozno juz sobie poradziles
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.