Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql][php]nie dzialaja skrypty w plikach *.html
Maximilian
post 5.02.2007, 17:17:06
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 5.02.2007

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Cienki1980
post 5.02.2007, 17:23:24
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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


--------------------
404
Go to the top of the page
+Quote Post
Maximilian
post 5.02.2007, 17:29:23
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 5.02.2007

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


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
Go to the top of the page
+Quote Post
Cienki1980
post 5.02.2007, 17:35:56
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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()


--------------------
404
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:41