Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]problem z połączeniem się do bazy MySQL?
imysz
post 1.09.2009, 17:03:35
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 16.08.2009

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


Witam. mam formularz i plik php który go przetwarza. ale skrypt w ogóle nie działa jak nie dało się połączyć z bazą. gdy wpisze jakiekolwiek hasło do szukania to po przyciśnięciu 'szukaj' pojawia się pusta strona jakby był jakiś błąd w kodzie. Raczej nie powinno takiego być bo to przykład przepiany z książki.

  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>


plik 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. }
  18.  
  19. {
  20. $metoda_szukania = addslashes($metoda_szukania);
  21. $wyrazenie = addslashes($wyrazenie);
  22. }
  23.  
  24. $db = new mysqli('loacalhost', 'ksiazkorama', 'haslo', 'ksiazki');
  25.  
  26. if (mysqli_connect_errno())
  27. {
  28. echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
  29. }
  30.  
  31. $zapytanie = "select * from ksiazki where ".$metoda_szukania." like '%".$wyrazenie."%'";
  32. $wynik = $db->query($zapytanie);
  33.  
  34. $ile_znalezionych = $wynik->num_rows;
  35.  
  36. echo '<p>Ilość znalezionych pozycji: '.$ile_znalezionych.'</p>';
  37.  
  38. for ($i=0; $i <$ile_znalezionych; $i++)
  39. {
  40. $wiersz = $wynik->fetch_assoc();
  41. echo '<p><strong>'.($i+1).'. Tytuł: ';
  42. echo stripslashes($wiersz['tytul']);
  43. echo '</strong><br />Autor: ';
  44. echo stripslashes($wiersz['autor']);
  45. echo '<br />ISBN: ';
  46. echo stripslashes($wiersz['isbn']);
  47. echo '<br />Cena: ';
  48. echo stripslashes($wiersz['cena']);
  49. echo '</p>';
  50. }
  51.  
  52. $wynik->free();
  53. $db->close();
  54.  
  55. ?>
  56.  
  57. </body>
  58. </html>


jak to rozwiązać ?

pozdrawiam
Go to the top of the page
+Quote Post
kfc4
post 1.09.2009, 17:19:20
Post #2





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

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


na początku rezultaty.php daj
  1. ini_set( 'display_errors', 'On' );
  2. error_reporting( E_ALL );

To wyświetli wszystkie błędy.
Go to the top of the page
+Quote Post
Void
post 1.09.2009, 17:19:33
Post #3





Grupa: Zarejestrowani
Postów: 112
Pomógł: 15
Dołączył: 2.02.2007

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


Po pierwsze to wpisz na początku skryptu

to dowiesz się co powoduje błąd. Ale widzę na pierwszy rzut oka, że masz literówkę przy nazwie hosta w połączeniu z bazą.
  1. $db = new mysqli('loacalhost', 'ksiazkorama', 'haslo', 'ksiazki');
Go to the top of the page
+Quote Post
imysz
post 1.09.2009, 21:34:22
Post #4





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 16.08.2009

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


wpisałem error_reporting( E_ALL ); ale żaden nowy komunikat się nie pojawił.
faktycznie jest literówka, poprawiłem ją, ale nic to nie zmieniło dalej nie da rady wyszukać rekordów.
Go to the top of the page
+Quote Post
Void
post 1.09.2009, 22:06:50
Post #5





Grupa: Zarejestrowani
Postów: 112
Pomógł: 15
Dołączył: 2.02.2007

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


To jeszcze ustaw display_errors w php.ini na "on" bo tak to się można bawić w wyszukiwanie błędów na ślepo smile.gif
Go to the top of the page
+Quote Post
imysz
post 1.09.2009, 22:18:21
Post #6





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 16.08.2009

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


okej coś się posunęło. wpisałem w php.ini linikę
extension=php_mysqli.dll i już teraz jest tak, że jak daję zapisz do bazy nową książkę to czasem zapisze a czasem wywali komunikat 'ze wystąpił błąd z aplikacją Apache.exe' a jak chcę przeszukać w bazie jakieś rekordy to zawsze wyrzuca ten błąd ? jakieś rozwiązanie ?
Go to the top of the page
+Quote Post
kfc4
post 2.09.2009, 16:39:16
Post #7





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

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


Uch, sam stawiałeś ten serwer? Czy jakiś gotowy? Jak sam to zainstaluj jakąś paczkę. Na Windowsa mogę polecić XAMPP oraz WAMP.Sam używam WAMP. Taka gotowa paczka przygotuje Ci całe środowisko do pracy oraz sama skonfiguruje.
Go to the top of the page
+Quote Post
imysz
post 2.09.2009, 18:30:40
Post #8





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 16.08.2009

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


no sam sam to konfigurowałem. okej zobaczę jak z tą paczką. a jest możliwe żeby to jakoś naprawić ręcznie ? możliwe że to przez to że korzystam ze starej wersji apache 1.3 ?
Go to the top of the page
+Quote Post
kfc4
post 2.09.2009, 18:47:41
Post #9





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

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


Ciężko jest określić co się stało, jak jest powód i jak to naprawić. Taki komunikat niezbyt wiele mówi. A co do wersji Apache - kiedyś była tylko ta i działało, ale kto wie... Możemy tylko się domyślać, że w którymś miejscu jest konfiguracja skopana.
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: 12.06.2025 - 22:31