Mysqli: Trying to get property of non-object in

0

Witam, mam problem z funkcją która powinna wyświetlać rekordy z bazy a zamiast rekordów wyświetla mi
Notice: Trying to get property of non-object in

 function wyswietlanieStatusow()
{
$mysqli = @new mysqli($server, $user, $password, $db);
$status2 = "SELECT * FROM `status` ORDER BY `id` DESC LIMIT 5";

$wynik2 = $mysqli->query($status2);

$sprawdzenie2 = $wynik2->num_rows;

	if($sprawdzenie2>0)
	{
		while($rekord2 = $wynik2->fetch_assoc())
		{
			echo $rekord2['user']." </br>Napisał: ".$rekord2['status']."</br> ".$rekord2['data'];
		}
		$wynik2->close();
	}
	else
	{
		echo "Brak statusów do wyświetlenia";
	}
}

Jak by ktoś miał kiedyś podobny problem bądź wie w jaki sposób można go rozwiązać to byłbym wdzięczny :)

0

Zapewne wywołanie $mysqli->query zwraca false.

0
Patryk27 napisał(a):

Zapewne wywołanie $mysqli->query zwraca false.

Faktycznie, jest tak jak mówisz. No to teraz dlaczego to nie działa a powinno... Zapomniałem wspomnieć że problem mi się zaczął dopiero gdy do 1 pliku dodałem kolejną funkcje która system działania miała podobny... A teraz gdy wszystko jest w innych plikach to nic nie działa

0

Ponad to, że "coś masz źle" ciężko powiedzieć z tego fragmentu - na pewno poprawnie inicjujesz mysqli? Oraz dlaczego wygłuszasz małpą ewentualne błędy?

0

Niby zmienne z danymi do połączenia nie są zdefiniowane... Trzymam je w config.php i używam require_once 'config.php';

Zawartość config.php

 <?php
$server="localhost";
$user="root";
$password="";
$db="forum";
?>

Więc to jest w sumie dziwna sprawa że uważa że moje zmienne nie są zdefioniowane kiedy są...

0

Funkcje same z siebie nie łapią wszystkich zmiennych będących w 'globalnym' scopie (trzeba napisać global $cośtam; bądź wykorzystać tablicę $_GLOBALS).

Zapoznaj się z podstawami OOP, póki jeszcze nie jesteś skażony programowaniem zmiennymi globalnymi, a zaoszczędzisz sobie sporo wysiłku i łez w przyszłości ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1