Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka
Forum PHP.pl > Forum > Bazy danych > MySQL
kiler44
Witam!!
Stworzylem sobie taką funckje wyszukujaca dane:
  1. <?php
  2. function search_text($text){
  3.  
  4. $query = $this->mMysqli->query("SELECT user_name, data, mail, telefon MATCH(ogloszenie) AGAINST(".$text.") AS wynik FROM users WHERE MATCH(ogloszenie) AGAINST(".$text.") ORDER BY MATCH (ogloszenie) AGAINST (".$text.") DESC");
  5. while($rows=$query->fetch_array(MYSQLI_ASSOC)){
  6. $imie=$rows['user_name'];
  7. $data = $rows['data'];
  8. $mail = $rows['mail'];
  9. $telefon = $rows['telefon'];
  10. $ogloszenie = $rows['ogloszenie'];
  11.  
  12. echo "
  13. <br><table width="450" align="center" border="1" class="xml"><tr><td><b>Data ważności ogłoszenia:</b> ".$data."</td></tr><tr><td><b>Imie osoby umieszczającej </b> ".$imie."</td></tr><tr><td><b>Kontakt:</b><br>E-mail: ".$mail."<br>Telefon: ".$telefon."</td></tr><tr><td>".$ogloszenie."</td></tr></table><br>";
  14. } 
  15. }
  16. ?>

jednak po wywolaniu funkcje z parametrem $text zwraca mi błąd :
Fatal error: Call to a member function fetch_array() on a non-object in C:\Program....
Wydaje mi sie, że cos z zapytaniem jest nie tak, proszę o pomoc.
Pozdrawiam!!
akubiczek
Pomijając wszystko inne, po telefon nie masz przecinka.
php programmer
Korzystasz pewnie z jakiegoś Frameworka, którego za bardzo nie znasz,

Cytat
Fatal error: Call to a member function fetch_array() on a non-object in


Zrobiłeś coś takiego:
  1. <?php
  2. $query->fetch_array(MYSQLI_ASSOC);
  3. ?>


Co znaczy że fetch_array jest metodą obiektu $query,
podczas gdy nie ma takiego obiektu, tzn
nie wykonałeś czegoś w rodzaju

  1. <?php
  2. $query = new StworzInstancjeKlasy();
  3. ?>
kiler44
Witam!!
Funkcja jest częścią klasy którą tworze, robiłem juz podobne funkcje z prostrzymi zapytaniami w ten sposób i działały, dlatego wydaje mi sie, że problem tkwi w zapytaniu.
akubiczek żeczywiscie brakuje przecinka ale to nic nie zmienia dalej pojawia mi sie ten sam błąd, "pomijając wszystki inne"?? napisz jasniej jak mozesz. Dzięki za zainteresowanie.
Pozdrawiam.
akubiczek
Ja się przychylam do opinii "php programmer". Nie wiem jednak jakiego frameworku używasz, więc nie znam metod obiektu, który teoretycznie jest zwracany poprzez mMysqli->query().

Ty natomiast naucz się samemu szukać błędów. Przecież to proste - w pierwszym kroku sprawdź co tak naprawdę dostajesz w zmiennej $query (za pomocą print_r).

Możesz także sprawdzić swoje zapytanie SQL wyświetlając je na ekranie i przeklejając do sql managera.

Itd. itp.
acztery
adam w debugu jeszcze pomoże var_dump" title="Zobacz w manualu PHP" target="_manual
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-2024 Invision Power Services, Inc.