Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Błąd skryptu wyszukiwarki
Radeko
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 31.05.2009

Ostrzeżenie: (0%)
-----


Witam (IMG:style_emoticons/default/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. (IMG:style_emoticons/default/smile.gif)
Pozdrawiam Radeko.

Sprawa rozwiązana, przepisałem na nowo cały skrypt i o dziwo działa (IMG:style_emoticons/default/smile.gif)
Pozdrawiam Radeko (IMG:style_emoticons/default/smile.gif)

Ten post edytował Radeko 9.08.2009, 18:15:53
Go to the top of the page
+Quote Post
TrevorGryffits
post
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


Po mysql_query(..) dodaj
Go to the top of the page
+Quote Post
Wicepsik
post
Post #3





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Nie wybrałeś nazwy bazy.... zapewne zły czwarty parametr mysql_connect
Go to the top of the page
+Quote Post
Radeko
post
Post #4





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 31.05.2009

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/smile.gif)
Pozdrawiam Radeko (IMG:style_emoticons/default/smile.gif)

Ten post edytował Radeko 9.08.2009, 18:16:22
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 20:54