ďťż
Podstrony
|
telcocafeWitamMam mały problem. Przerabiam książkę ' PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie trzecie' i w rodziale 11 są pierwsze próby łączenia się z bazą MySQL. Oto kod: szukaj.htm <html> <head> <title>Wyszukiwanie ksi¹¿ek w ksiêgarni "Ksi¹¿korama"</title> </head> <body> <h1>Wyszukiwanie ksi¹¿ek w ksiêgarni "Ksi¹¿korama"</h1> <form action="rezultaty.php" method="post"> Wybierz metodê wyszukiwania:<br /> <select name="metoda_szukania"> <option value="autor">Autor <option value="tytul">Tytu³ <option value="isbn">ISBN </select> <br /> WprowadŸ poszukiwane wyra¿enie:<br /> <input name="wyrazenie" type="text"> <br /> <input type="submit" value="Szukaj"> </form> </body> </html> rezultaty.php <html> <head> <title>"Ksi¹¿korama"-Rezultaty wyszukiwania</title> </head> <body> <h1>"Ksi¹¿korama"-Rezultaty wyszukiwania </h1> <?php // utworzenie krótkich nazw zmiennych $metoda_szukania=$_POST['metoda_szukania']; $wyrazenie=$_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('localhost', 'xxx', 'xxx', 'xxx'); 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 ksiazki where ".$metoda_szukania." like '%".$wyrazenie."%'"; $wynik = $db->query($zapytanie); $ile_znalezionych = $wynik->num_rows; echo '<p>Iloœæ znalezionych pozycji: '.$ile_znalezionych.'</p>'; for ($i=0; $i <$ile_znalezionych; $i++) { $wiersz = $wynik->fetch_assoc(); echo '<p><strong>'.($i+1).'. Tytu³: '; echo stripslashes($wiersz['tytul']); echo '</strong><br />Autor: '; echo stripslashes($wiersz['autor']); echo '<br />ISBN: '; echo stripslashes($wiersz['isbn']); echo '<br />Cena: '; echo stripslashes($wiersz['cena']); echo '</p>'; } $wynik->free(); $db->close(); ?> </body> </html> Niestety, ale skrypt nie działa. Po tej <h1>"Ksi¹¿korama"-Rezultaty wyszukiwania </h1> linicje kodu nie wyskauje żaden komunikat, nawet o tym, że formularz nie jest wypełniony. Jeżeli łączę się z bazą danych w ten sposób: $polaczenie = @mysql_connect('localhost', 'xxx', 'xxx') or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error()); $db = @mysql_select_db('xxx', $polaczenie) or die('Nie mogę połączyć się z bazą danych. Błąd: '.mysql_error()); [...] mysql_close($polaczenie); Wyskakuje komunikat o tym, że w bazie nic nie znaleziono i error. Oczywiście w bazie są potrzebne informacje. Korzystam z krasnala. Za wszystkie odpowiedzi z góry dziękuję :). Nie przyglądałem się dobrze, ale w wielu miejscach masz wpisane "mysqli" zamiast "mysql". Popraw i napsz, czy działa. musisz dodac obsługę msqli Może nie doczytałeś trzeba zainstalowac na serwerze msqli inaczej musisz korzystać ze standardowych metod mysql_connect i tak dalej No nie doczytałem ;). Dziękuję za odpowiedź - eot. |
|||
Sitedesign by AltusUmbrae. |