Problem Call to a member function free()

0

Cześć,

szukam pomocy w rozwiązaniu problemu,

robię skrypt wyszukiwania iii po poprawieniu innych błędów zatrzymałem się na tym:

Problem Call to a member function free()

Fatal error: Call to a member function free() on a non-object in /virtual/o/d/odzywki.ugu.pl/rezultaty.php on line 49


<html>
<head>
<title>"Odzywki.com" - Rezultaty wyszukiwania</title>
</head>
<body>
<hl>"Odzywki.com" - Rezultaty wyszukiwania </hl>
<?php

$metoda_szukania=$_POST['metoda_szukania'];
$wyrazenie=trim($_POST['wyrazenie']) ;

$wyrazenie = trim($wyrazenie) ;

if (!$metoda_szukania || !$wyrazenie) {
echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponownie.';
exit;
}

if (!get_magic_quotes_gpc()) {
$metoda_szukania = addslashes($metoda_szukania);
$wyrazenie = addslashes($wyrazenie);
}

@ $db = new mysqli('mysql3.ugu.pl', 'db609757', 'hasło', 'db609757');
if (mysqli_connect_errno()) {
echo 'Błąd; Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
exit;
}
$zapytanie = "select * from db609757 where ".$metoda_szukania." like '%" .$wyrazenie."%'";
$wynik = $db->query($zapytanie);

$ile_znalezionych = $wynik->num_rows;

echo "<p>Ilość znalezionych pozycji; ".$ile_znalezionych."</p>" ;

for ($i=O; $i <$ile_znalezionych; $i++) {
$wiersz = $wynik->fetch_assoc();
echo "<p><strong>".($i+l). ".nazwa: ";
echo stripslashes($wiersz[ 'nazwa']);
echo "</strong><br />firma: ";
echo stripslashes($wiersz['firma']);
echo "<br /> numer: ";
echo stripslashes($wiersz['numer']);
echo "<br />Cena: ";
echo stripslashes($wiersz['cena']);
echo "</p>" ;
}

// poniższa linia To jest linia 49 
$wynik->free();
$db->close();
?>
</body>
</html>


Pomoże ktoś rozwiązać ten problem ??

na net znalazłem tylko rozwiązanie typu

mysql użył mysqli.

co niestety nie rozwiązuje mojego problemu, bo uzywam mysqli

proszę o pomoc

pozdrawiam

Michał

0

A sprawdzałeś co po zapytaniu kryje się pod $wynik ? Bo wygląda na to, że zapytanie nie zwraca obiektu.

0
$zapytanie = "select * from db609757 where ".$metoda_szukania." like '%" .$wyrazenie."%'";
$wynik = $db->query($zapytanie);

domyślam się że tu jest problem.

0

To hasło do bazy danych jest prawidłowe? Druga sprawa: addslashes nie jest zabezpieczeniem, masz ordynarny SQL injection w $_POST['metoda_szukania'].

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