Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd mysql_fetch_assoc()
Forum PHP.pl > Forum > Przedszkole
zolasty
Pomógłby mi ktoś zmienić ten kod żeby działało? sad.gif
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/home/awelc/domains/urokliwe.pl/public_html/engine/sql.class.php on line 46

  1. <?php
  2. //require_once('config.php');
  3. $id=$_GET['id'];
  4. $zap2 = mysql_query("SELECT * FROM news WHERE id ='$id'");
  5. $sql->query( $zap2 );
  6.  
  7. while($r=$sql->fetchAssoc()){
  8.  
  9. echo "<div class='title'><b>".$r['tytul']."</div></b>";
  10. echo "<div class='text'>".$r['news']."<br/><br/></div>";
  11. echo "<div class='text'><b>Data dodania: </b>".$r['data']."<br/><br/><br/></div>";
  12. }
  13.  
  14. ?>

sql.class.php
  1. <?php
  2. ////SQL
  3. class sql
  4. {
  5. private $connection;
  6. private $result;
  7. private $row;
  8. private $numRows;
  9. private $Queries = 0;
  10. //SINGLETON
  11. static protected $sqlObj;
  12. public static function getInstance()
  13. {
  14. if(self::$sqlObj==null) {
  15. self::$sqlObj = new self;
  16. }
  17. return self::$sqlObj;
  18. }
  19.  
  20. public function connect ( $host, $user, $pass, $db )
  21. {
  22. $this->connection = mysql_connect( $host, $user, $pass );
  23. $this->query( "SET NAMES 'utf8'" );
  24.  
  25. }
  26.  
  27. public function query( $query )
  28. {
  29.  
  30. $this->result = @mysql_query( $query );
  31. $this->Queries++;
  32.  
  33.  
  34. return 1;
  35. }
  36.  
  37. public function fetchArray()
  38. {
  39. $this->row = mysql_fetch_array( $this->result );
  40. return $this->row;
  41. }
  42.  
  43. public function fetchAssoc()
  44. {
  45. $this->row = mysql_fetch_assoc( $this->result );
  46. return $this->row;
  47. }
  48.  
  49. public function fetchRow()
  50. {
  51. $this->row = mysql_fetch_row( $this->result );
  52. return $this->row;
  53. }
  54.  
  55. public function numRows()
  56. {
  57. return $this->numRown = mysql_affected_rows( );
  58.  
  59. }
  60.  
  61. public function disconnect()
  62. {
  63. mysql_close( $this->connection );
  64.  
  65. }
  66. public function lastID()
  67. {
  68. return mysql_insert_id();
  69.  
  70. }
  71.  
  72. public function numQueries()
  73. {
  74. return $this->Queries;
  75. }
  76. }
  77.  
  78.  
  79.  
  80.  
  81. ?>
motyl-pl
Wywala taki błąd jak by było coś źle w zapytaniu do bazy .. Sprawdź dokładnie SELECT
wookieb
Jezus maria. Kolejny.
Temat: Jak poprawnie zadac pytanie

I jeżeli tego DOKŁADNIE nie przeczytasz to nie mamy o czym gadać.

Poza tym twoja "klasa" jest na tyle żałosna, że nawet nie potrafi sprawdzić czy zapytanie się wykonało.
zolasty
Przeczytane i dodane do kodu:
  1. <?php
  2. //require_once('config.php');
  3.  
  4. ini_set('display_errors','1');
  5.  
  6. $id=$_GET['id'];
  7. echo $id." tu id newsa. ";
  8.  
  9. $zap2 = mysql_query("SELECT * FROM news WHERE id ='$id'");
  10.  
  11. echo $zap2;
  12.  
  13. $sql->query( $zap2 );
  14.  
  15. while($r=$sql->fetchAssoc()){
  16.  
  17. echo "<div class='title'><b>".$r['tytul']."</div></b>";
  18. echo "<div class='text'>".$r['news']."<br/><br/></div>";
  19. echo "<div class='text'><b>Data dodania: </b>".$r['data']."<br/><br/><br/></div>";
  20. }
  21.  
  22. ?>


Zwraca:
2 tu id newsa. Resource id #6
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/home/awelc/domains/urokliwe.pl/public_html/engine/sql.class.php on line 46

Zapytanie w phpmyadmin:
SELECT *
FROM news
WHERE id = '2'
Zwraca dobry rekord.

A tą klasę napisał mi kolega ale są problemy.
wookieb
metoda query przyjmuje treść zapytania a nie jego wynik...
krzysztof_kf
Cytat(wookieb @ 8.07.2010, 11:48:43 ) *
Jezus maria. Kolejny.
Temat: Jak poprawnie zadac pytanie

I jeżeli tego DOKŁADNIE nie przeczytasz to nie mamy o czym gadać.

Poza tym twoja "klasa" jest na tyle żałosna, że nawet nie potrafi sprawdzić czy zapytanie się wykonało.



Wookieb chyba za dużo się naoglądałeś MTV a dokładnie moje 18 urodziny nie zachowuj się jak byś był pępkiem świata .


zolasty

co ci wyświetla mysql_error ? dla połączenia z bazą danych
zolasty
Teraz trochę to pozmieniałam sad.gif ale chyba jeszcze gorzej...
Teraz wyrzuca:
2 tu id newsa. ZAPYTANIE:SELECT * FROM news WHERE id ='2'
Fatal error: Call to a member function fetchAssoc() on a non-object in /usr/home/awelc/domains/urokliwe.pl/public_html/modules/view_news.php on line 22
Może lepiej nie korzystać z tej klasy.

  1. <?php
  2. //require_once('config.php');
  3.  
  4. ini_set('display_errors','1');
  5.  
  6. $id=$_GET['id'];
  7. echo $id." tu id newsa. ";
  8.  
  9.  
  10. $sql = "SELECT * FROM news WHERE id ='$id'";
  11. echo 'ZAPYTANIE:'.$sql;
  12. mysql_query($sql) or die('BŁĄD:'.mysql_error());
  13.  
  14. //$zap2 = mysql_query("SELECT * FROM news WHERE id ='$id'");
  15. //echo $zap2;
  16. //$sql->query( $zap2 );
  17. //echo 'ZAPYTANIE:'.$sql;
  18.  
  19. while($r=$sql->fetchAssoc()){
  20.  
  21. echo "<div class='title'><b>".$r['tytul']."</div></b>";
  22. echo "<div class='text'>".$r['news']."<br/><br/></div>";
  23. echo "<div class='text'><b>Data dodania: </b>".$r['data']."<br/><br/><br/></div>";
  24. }
  25. ?>



Omg... Już wiem biggrin.gif Jak się siedzi przez całą noc w php i javascript którego się nie potrafi to się robi bardzo głupie błędy. Ale dzięki smile.gif
Skopiowałam kod z wypisywania wszystkich ogłoszeń żeby było "szybciej". Pętla jest zbędna. Wyrzuca w końcu tylko jednego newsa.
wookieb
Cytat(krzysztof_kf @ 8.07.2010, 12:27:06 ) *
Wookieb chyba za dużo się naoglądałeś MTV a dokładnie moje 18 urodziny nie zachowuj się jak byś był pępkiem świata .

Po pierwsze wypraszam sobie takie stwierdzenia
Po drugie na tym forum co rusz pojawia się pytanie o takie proste g.... spowodowane brakiem umiejętności czytania i znajomości PHP która JEST tutaj wymagana
Po trzecie dałem odpowiedź (numer 2) do której kolega się nie zastosował więc o co ci chodzi? Ja mam problem czy kolega?
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.