• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego kod PHP i MySQL nie działa?

Object Storage Arubacloud
–1 głos
265 wizyt
pytanie zadane 1 czerwca 2020 w SQL, bazy danych przez WiktroH Mądrala (6,550 p.)

 

Witam!

Moje pytanie brzmi: dlaczego kod PHP i MySQL nie działa? Pokazuje się taki komunikat:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, object given in D:\Xampp2\htdocs\pbw\index.php on line 28

Najdziwniejsze jest to, że w innym projekcie, gdzie zmieniłem tylko nazwy bazy danych i tablicy - wszystko działa! Jak to możliwe?

 

Tutaj jest kod PHP:

<!DOCTYPE HTML>
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8"> 

</head>

<body>

<table width="1000" align="center" border="1" bordercolor="#d5d5d5" cellpadding="8" cellspacing="0" height="200">     
<tr>
<?php 

$host = "localhost";
$user = "root";
$password = "";
$database = "pbw";

//ini_set("display_errors", 0);
include_once 'connect.php';
$polaczenie = mysqli_connect($host, $user, $password);
mysqli_query($polaczenie, "SET CHARSET utf8");
mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
mysqli_select_db($polaczenie, $database);

$my_query = "SELECT tytul, opis, nazwa FROM zdjecia SORT BY data DEC";

$rezultat = mysqli_query($polaczenie, $my_query);
$how_many = mysqli_num_rows($polaczenie);

if ($how_many>=1) 
{
echo<<<END
<td width="50" align="center" bgcolor="e5e5e5"><span style="font-size: 25px;">Tytul</td></span>
<td width="100" align="center" bgcolor="e5e5e5"><span style="font-size: 25px;">Opis</td></span>
<td width="100" align="center" bgcolor="e5e5e5"><span style="font-size: 25px;">Nazwa</td></span>
</tr><tr>
END;
}
	for ($i = 1; $i <= $how_many; $i++) 
	{
		
		$row = mysqli_fetch_assoc(mysql_result);
		$tytul = $row['tytul'];
		$opis = $row['opis'];
		$nazwa = $row['nazwa'];
		
echo<<<END
<td width="50" align="center"><span style="font-size: 25px;"><span style="color: white;">$tytul</td></span></span>
<td width="100" align="center"><span style="font-size: 20px;"><span style="color: white;">$opis</td></span></span>
<td width="100" align="center"><span style="font-size: 20px;"><span style="color: white;">$nazwa</td></span></span>
</tr><tr>
END;
			
	}
	

?>


</tr></table>



</body>
</html>

 

2 odpowiedzi

+2 głosów
odpowiedź 1 czerwca 2020 przez SzymczyQ Obywatel (1,780 p.)
wybrane 29 czerwca 2020 przez WiktroH
 
Najlepsza

Funkcja mysql_num_rows przyjmuje jako parametr wartość zwróconą przez te funkcje mysqli_query()mysqli_store_result() or mysqli_use_result(). W twoim przypadku będzie to zmienna $rezultat.

Poza tym masz błąd poniżej bo do funkcji mysqli_fetch_assoc przekazujesz złą wartość. Powinieneś tam przekazać $rezultat. 

Błąd który opisałeś czyli:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in D:\Xampp2\htdocs\pbw\index.php on line 28

Jest spowodowany tym że masz błąd w SQL. Sortowanie odbywa się poprzez ORDER BY DESC|ASC.

+2 głosów
odpowiedź 1 czerwca 2020 przez SzkolnyAdmin Szeryf (86,400 p.)
Odpowiedź masz w warningu: funkcja mysqli_num_rows potrzebuje wyniku zapytania, a nie obiektu. Podałeś jej zmienną $polaczenie przechowującą właśnie obiekt reprezentujący połączenie z bazą, a powinieneś wynik zapytania,  czyli zmienną ... [tu sam dojdź, którą].
komentarz 1 czerwca 2020 przez WiktroH Mądrala (6,550 p.)

To nie to. Teraz jest

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in D:\Xampp2\htdocs\pbw\index.php on line 28

komentarz 1 czerwca 2020 przez Ehlert Ekspert (212,670 p.)

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given

No bo connect zwrócił false. Czytaj błędy i manual ze zrozumieniem smiley 

Podobne pytania

0 głosów
1 odpowiedź 223 wizyt
0 głosów
4 odpowiedzi 328 wizyt
pytanie zadane 7 sierpnia 2017 w SQL, bazy danych przez mi-20 Stary wyjadacz (13,190 p.)

92,580 zapytań

141,432 odpowiedzi

319,665 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...