Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Call to a member function fetch_object() on a non-object
Forum PHP.pl > Forum > PHP
verio
Witam.

Mam taki kod:
  1. <?php
  2.  
  3. include 'settings.php';
  4.  
  5. $sql = 'SELECT * FROM `smsy` WHERE status="1" ORDER BY id ASC LIMIT 6';
  6. //exit($sql);
  7. $wynik = mysqli_query($mysql, $sql)
  8. or die("Błąd w zapytaniu!");
  9.  
  10. if ($wynik->num_rows > 0) {
  11. while ($obj = $wynik->fetch_object()) {
  12. sendInfo($obj->numer, $obj->tresc);
  13. $sql = "UPDATE `info` SET status='2' WHERE id=".$obj->id;
  14. $wynik = mysqli_query($mysql, $sql)
  15. or die("Błąd w zapytaniu!");
  16. }
  17. }
  18.  
  19. mysqli_close($mysql);


W pliku settings.php mam połączenie do bazy danych $mysql . Kiedy wywołuję skrypt dostaję:
  1. Fatal error: Call to a member function fetch_object() on a non-object in /usr/share/nginx/www/sms/daemon.php on line 11


Treść "Błąd w zapytaniu mi się nie pokazuje, po przeklejeniu SQLa do phpmyadmina zapytanie ładnie zwraca wynik. Jednak w skrypcie pętla while wykonuje się 1 raz i się wyłącza. Proszę o pomoc.

[ot]wiem, struktura pomieszana z oop[/ot]
jackraymund
http://php.net/manual/en/mysqli-result.fetch-object.php
z helpa wynika że miałeś rację, struktura pomieszana z oop
na obiekcie
  1. $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
  2. $result = $mysqli->query($query)
  3. $obj = $result->fetch_object()
na funkcjach
  1. $link = mysqli_connect("localhost", "my_user", "my_password", "world");
  2. $result = mysqli_query($link, $query)
  3. $obj = mysqli_fetch_object($result)
verio
  1. <?php
  2.  
  3. include 'settings.php';
  4.  
  5. $sql = 'SELECT * FROM `smsy` WHERE status="1" ORDER BY id ASC LIMIT 6';
  6. //exit($sql);
  7. $wynik = $mysql->query($sql)
  8. or die("Błąd w zapytaniu!");
  9.  
  10. if ($wynik->num_rows > 0) {
  11. while ($obj = $wynik->fetch_object()) {
  12. sendInfo($obj->numer, $obj->tresc);
  13. $sql = "UPDATE `info` SET status='2' WHERE id=".$obj->id;
  14. $wynik2 = $mysql->query($sql)
  15. or die("Błąd w zapytaniu!");
  16. }
  17. }
  18.  
  19. $wynik->close();
  20. $mysql->close();


już wiem - $wynik nadpisywał poprzedni - dziękuję za pomoc
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.