Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php]nie dzialaja skrypty w plikach *.html
Forum PHP.pl > Forum > Przedszkole
Maximilian
Mam zainstalowanego Apacza w wersji 2.2.4, php 5.2.0 i MySQLa 5.0.27.



Gdy się odwołuje do bazy danych przez plik *.php wszystko działa prawidłowo lecz gdy pracuje na pliku *.html który odwołuje się do pliku php i dalej ten plik się odwołuje do bazy danych to nie wyświetla mi się oczekiwany rezultat, ale nie wyświetla się też żaden błąd.
Mówie tu o przykładzie z książki "php i MySQL Tworzenie stron WWW Vademecum Profesjonalisty wyd.3" z rodziału 11.

Może spotkał się już ktoś z takim czymś?

szukaj.html
  1. <title>Wyszukiwanie książek w księgarni "Książkorama"</title>
  2. </head>
  3.  
  4. <h1>Wyszukiwanie książek w księgarni "Książkorama"</h1>
  5.  
  6. <form action="rezultaty.php" method="post">
  7. Wybierz metodę wyszukiwania:<br />
  8. <select name="metoda_szukania">
  9. <option value="autor">Autor
  10. <option value="tytul">Tytuł
  11. <option value="isbn">ISBN
  12. </select>
  13. <br />
  14. Wprowadź poszukiwane wyrażenie:<br />
  15. <input name="wyrazenie" type="text">
  16. <br />
  17. <input type="submit" value="Szukaj">
  18. </form>
  19.  
  20. </body>
  21. </html>


rezultaty.php
  1. <html>
  2. <head>
  3. <title>"Książkorama"-Rezultaty wyszukiwania</title>
  4. </head>
  5. <body>
  6. <h1>"Książkorama"-Rezultaty wyszukiwania </h1>
  7. <?php
  8. // utworzenie krótkich nazw zmiennych
  9. $metoda_szukania=$_POST['metoda_szukania'];
  10. $wyrazenie=$_POST['wyrazenie'];
  11.  
  12. $wyrazenie = trim($wyrazenie);
  13.  
  14. if (!$metoda_szukania || !$wyrazenie)
  15. {
  16.  echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponownie.';
  17.  exit;
  18. }
  19.  
  20. {
  21. $metoda_szukania = addslashes($metoda_szukania);
  22. $wyrazenie = addslashes($wyrazenie);
  23. }
  24.  
  25. @ $db = new mysqli('localhost', 'root', 'root', 'ksiazki');
  26.  
  27. if (mysqli_connect_errno())
  28. {
  29.  echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
  30.  exit;
  31. }
  32.  
  33. $zapytanie = "select * from ksiazki where ".$metoda_szukania." like '%".$wyrazenie."%'";
  34. $wynik = $db->query($zapytanie);
  35.  
  36. $ile_znalezionych = $wynik->num_rows;
  37.  
  38. echo '<p>Ilość znalezionych pozycji: '.$ile_znalezionych.'</p>';
  39.  
  40. for ($i=0; $i <$ile_znalezionych; $i++)
  41. {
  42.  $wiersz = $wynik->fetch_assoc();
  43.  echo '<p><strong>'.($i+1).'. Tytuł: ';
  44.  echo stripslashes($wiersz['tytul']);
  45.  echo '</strong><br />Autor: ';
  46.  echo stripslashes($wiersz['autor']);
  47.  echo '<br />ISBN: ';
  48.  echo stripslashes($wiersz['isbn']);
  49.  echo '<br />Cena: ';
  50.  echo stripslashes($wiersz['cena']);
  51.  echo '</p>';
  52. }
  53.  
  54. $wynik->free();
  55. $db->close();
  56.  
  57. ?>
  58.  
  59. </body>
  60. </html>


// poprawilem bbCode -- dr_bonzo
Cienki1980
Usuń znak @ z lini
  1. <?php
  2. @ $db = new mysqli('localhost', 'root', 'root', 'ksiazki');
  3. ?>


i zobacz czy pojawią Ci się jakieś błędy. Stawiam na to, że nie masz zainstalowanego MySQL Improved Extension
Maximilian
Po usunięciu "małpy" pojawił się błąd:

Fatal error: Class 'mysqli' not found in C:\serwer\strony\www\rezultaty.php on line 26
Cienki1980
Czyli tak jak pisałem wcześniej nie masz zainstalowanego MySQL Improved Extension.

Zamias mysqli używaj standardowych funkcji z php do łączenia się z bazą danych MySQL.

mysql_connect()
mysql_select_db()
mysql_query()
mysql_fetch_array()
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.