Witam mam problem bo zamiast rekordów z bazy danych wyskakuje mi błąd:
"Notice: Trying to get property 'num_rows' of non-object", który odnosi się do linijki 26 czyli:
$ile_znaleziono = $wynik->num_rows;
usługi.html:
<form action="wyniki.php" method="post">
Wyszukaj według:
<select name="metoda">
<option value="Cel podróży" />Celu podróży
<option value="Atrakcja" />Preferowanej atrakcji
<option value="Koszt" />Budżetu
</select>
<br /><br />
Szukane wyrażenie:
<input type="text" name="wyrazenie" />
<input type="submit" name="wyszukaj" />
</form>
wyniki.php:
<?php
$metoda = $_POST['metoda'];
$wyrazenie = $_POST['wyrazenie'];
$wyrazenie = trim($wyrazenie);
if (!$metoda || !$wyrazenie)
{
echo 'Brak parametrów wyszukiwania, wróć do poprzednej strony i spóbuj ponownie!';
exit;
}
if (!get_magic_quotes_gpc())
{
$metoda = addslashes($metoda);
$wyrazenie = addslashes($wyrazenie);
}
@ $db = new mysqli('localhost','admin',' ','wycieczki');
if (mysqli_connect_errno())
{
echo 'Połączenie z bazą nie powiodło się. Spóbuj ponownie';
exit;
}
$db->query('SET NAMES utf8');
$db->query('SET CHARACTER_SET utf8_unicode_ci');
$zapytanie = "select * from wycieczka where ".$metoda. " like '%".$wyrazenie."%'";
$wynik = $db->query($zapytanie);
$ile_znaleziono = $wynik->num_rows;
echo '<p> Liczba znalezionych wycieczek: '.$ile_znaleziono.'</p>';
for ($i=0;$i<$ile_znaleziono;$i++)
{
$wiersz = $wynik->fetch_assoc();
echo '<p><b>'.($i+1).'Cel podróży: '.stripslashes($wiersz['Cel podróży']).'</b><br />';
echo 'Atrakcja: '.stripslashes($wiersz['Atrakcja']).'<br />';
echo 'Opis: '.stripslashes($wiersz['Opis']).'<br />';
echo 'Miejsca: '.stripslashes($wiersz['Miejsca']).'</p><br />';
echo 'Koszt: '.stripslashes($wiersz['Koszt']).'</p><br />';
}
/*$wynik->free();*/
$db->close();
?>
Nie wiem w czym jest problem. Może ktoś jest w stanie pomóc? Dodam, że wyniki z bazy danych w formularzu dla preferowanej atrakcji i budżetu wyświetlają się bezproblemowo. Tylko błąd wyskakuje przy Celu podróży :/