Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Błąd skryptu wyszukiwarki
Forum PHP.pl > Forum > Przedszkole
Radeko
Witam smile.gif
Mam problem ze skryptem wyszukiwarki, skrypt nie jest mój. Na XAMPP'ie wszystko działało ok, ale po przeprowadzce na hosting pojawiły się problemy.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
// program wyszukiwarki - search.php
// wyświetlenie nagłówka
echo'<h2>Wyniki wyszukiwania</h2>';
// usunięcie niepotrzebnych białych znaków
$_POST['phrase']=trim($_POST['phrase']);
// sprawdzenie, czy użytkownik wpisał dane
if(empty($_POST['phrase']))
// jeśli nie, to wyświetl komunikat i zakończ działanie skryptu
die('Formularz wypełniony niepoprawnie! Nie można wyświetlić wyników wyszukiwania! <a href="search.html">Wyszukiwarka</a>');
// jeśli jednak dane są wpisane poprawnie
else
{
// połączenie z bazą danych, NIE ZAPOMINJ USTAWIĆ WŁASNYCH DANYCH!
mysql_connect('***','***','***','***') or die ("BŁĄD");
// skonstruowanie zapytania
// zwróć uwagę na operator Like - to on jest sercem całej aplikacji. Pozwala wyszukać dany ciąg w bazie danych
// jak zapewne zauważyłeś, przed frazą i po niej umieszczam znaki procenta %
// ten znak symbolizuje dowolny inny ciąg znaków, więc jest niezbędny do skutecznego wyszukiwania
// połaczenie operatorem Or pozwala na wyszukiwanie danego ciągu zarówno w nazwie, jak i opisie produktu
// UWAGA! Tutaj też nie zapomnij ustawić swoich danych!
$query="Select * From slowa Where pl Like '%{$_POST['phrase']}%' Or ua Like '%{$_POST['phrase']}%' Or ru Like '%{$_POST['phrase']}%' Or en Like '%{$_POST['phrase']}%' Or opis Like '%{$_POST['phrase']}%'";
// wysłanie zapytania do bazy danych
$result=mysql_query($query);
// ustalenie ilości wyszukanych obiektów
$obAmount=mysql_num_rows($result);
// wyswietlenie ilości wyszukanych obiektów
echo'Znaleziono: '.$obAmount.'<br /><br />';
// wyświetlenie wyników w pętli
echo '<table border="1" cellpadding="3">
<tr><td bgcolor="#CCCCCC"><b>PL</b></td><td bgcolor="#CCCCCC"><b>UA</b></td><td bgcolor="#CCCCCC"><b>RU</b></td><td bgcolor="#CCCCCC"><b>EN</b></td><td bgcolor="#CCCCCC"><b>Opis</b></td><td></td><td></td></tr>';
for($x=0;$x<$obAmount;$x++)
{
// przekształcenie danych na tablicę
$row=mysql_fetch_assoc($result);
// wyświetlenie numeru identyfikacyjnego
$id = $row['nr'];
$p1 = $row['p1'];
$p2 = $row['p2'];
$p3 = $row['p3'];
$p4 = $row['p4'];
$opis = $row['opis'];

echo "<tr>
<td>$pl</td>
<td>$p2</td>
<td>$p3</td>
<td>$p4</td>
<td>$opis</td>
</tr>";
}
echo "</table> ";
}
// zamknięcie połączenia
mysql_close($base);
// koniec aplikacji
?>

</body>
</html>
Oto treść błędu:
Wyniki wyszukiwania


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/t/e/tetiana/search.php on line 33
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /var/www/sites/yoyo.pl/t/e/tetiana/search.php on line 66
Liczę na waszą szybką pomoc. smile.gif
Pozdrawiam Radeko.

Sprawa rozwiązana, przepisałem na nowo cały skrypt i o dziwo działa smile.gif
Pozdrawiam Radeko smile.gif
TrevorGryffits
Po mysql_query(..) dodaj
Wicepsik
Nie wybrałeś nazwy bazy.... zapewne zły czwarty parametr mysql_connect
Radeko
Wpisałem na 100% poprawne dane. Ale dalej ten sam błąd. Próbowałem nawet starszej funkcji mysql_numrows(), ale dalej ten sam efekt.
Sprawa rozwiązana, przepisałem na nowo cały skrypt i o dziwo działa smile.gif
Pozdrawiam Radeko smile.gif
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-2025 Invision Power Services, Inc.