Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z łączeniem sie z baza danych
Forum PHP.pl > Forum > PHP
slawek_master
witam
mam problemik, bo nie chce mi sie łaczyc z baza mysql, i wydaje mi sie ze osoba ktora to pisala cos naknocila biggrin.gif ale tylko tak mi sie wydaje snitch.gif bo jakos dziwnie wyglada łaczanie sie z baza:P

  1. <title> wyszukiwanie ksiazek w ksiegarni</title>
  2. <h1> wyszukiwanie ksiazek w ksiegarni </h1>
  3. <form action="rezultaty.php" method="post">
  4. wybierz metode wyrzukiwania :<br />
  5. <select name="metoda_wyszukiwania">
  6. <option value="autor">Autor
  7. <option value="tytul">Tytuł
  8. <option value=isbn">ISBN
  9. <br />
  10. wprowadz poszukiwane wyrażenie: <br />
  11. <input name="wyrazenie" type="text">
  12. <br />
  13. <input type="submit" value="szukaj">
  14. </form>
  15. </body>
  16. </html>


a o to rezyltaty.php

  1. <html>
  2. <head>
  3. <title>rezultaty wyszukiwania</title>
  4. <head>
  5. <body>
  6. <h1>rezultaty wyszukiwania</h1>
  7. <?php
  8. //utworzenie krotkich nazw zmiennych
  9. $metoda_szukania=$_POST['metoda_szukania'];
  10. $wyrazenie=$_POST['wyrazenie'];
  11.  
  12. $wyrazenie = trim($wyrazenie);
  13. if (!$metoda_szukania || !$wyrazenie)
  14. {
  15. echo 'brak paramtrów wyszukiwania. wroc do poprzedniej strony i spróbuj ponownie.;
  16. exit;
  17. }
  18. if (!get_magic_quotes_gpc())
  19. {
  20. $metoda_szukania = addslashes($metoda_szukania);
  21. $wyrazenie - addslashes($wyrazenie);
  22. }
  23.  
  24. @ $db = new mysqli('localhost', 'root', 'krasnal','ksiazki');
  25.  
  26. if (mysqli_connect_errno())
  27. {
  28. echo 'bład : połaczeniez baza danych nie powiodło sie, sporoboj jeszcze raz poxniej';
  29. exit;
  30. }
  31.  
  32. $zapytanie = "select * from ksiazki where ".$metoda_szukania." like '%".$wyrazenie."%'";
  33. $wynik = $db->query($zapytanie);
  34.  
  35. $ile_znalezionych = $wynik->num_rows;
  36.  
  37. echo '<p> ilosc znalezionych pzycji : ' .$ile_znalezionych.'<p>';
  38.  
  39. for ($i=0 ; $i = $ile_znalezionych ; $i++)
  40. {
  41. $wiersz = $wynik->fetch_assoc();
  42. echo '<p><strong>'.($i+1).'. Tyuł:';
  43. echo stripslashes($wiersz['tytul']);
  44. echo </strong><br />Autor: ';
  45. echo stripslashes($wiersz['autor']);
  46. echo '<br />ISBN: ';
  47. echo stripslashes($wiersz['isbn']);
  48. echo '<br />'Cena: ';
  49. echo stripslashes($wiersz['cena']);
  50. echo '<p>';
  51. }
  52. $wynik->free();
  53. $db->close()
  54. ?>
  55. </body>
  56. </html>


z gory zieki za wszelka pomoc
nospor
to co pokazales to wogole ci sie nie uruchomi, a nie mowi juz o laczeniu z baza.
zjadles ' w 15 linii.

Jesli to teraz tylko taka literowka, to pozdejmuj malpy @ by zobaczyc ewentualne errory oraz wyswietl error laczenia przy pomocy tej metody: mysqli_connect_error()

A na koniec poprawy tytul, by odzwierciedlal problem
Ludvik
W 21 linii też jest błąd składniowy. Zamiast operatora przypisania jest odejmowanie.
TG-S
w niektorych miejscach ' bylo za duzo a w innych brakowalo... poprawilem, powinno dzialac
  1. <html>
  2. <head>
  3. <title>rezultaty wyszukiwania</title>
  4. <head>
  5. <body>
  6. <h1>rezultaty wyszukiwania</h1>
  7. <?php
  8. //utworzenie krotkich nazw zmiennych
  9. $metoda_szukania=$_POST['metoda_szukania'];
  10. $wyrazenie=$_POST['wyrazenie'];
  11.  
  12. $wyrazenie = trim($wyrazenie);
  13. if (!$metoda_szukania || !$wyrazenie)
  14. {
  15. echo 'brak paramtrów wyszukiwania. wroc do poprzedniej strony i spróbuj ponownie.';
  16. }
  17. {
  18. $metoda_szukania = addslashes($metoda_szukania);
  19. $wyrazenie = addslashes($wyrazenie);
  20. }
  21.  
  22. @ $db = new mysqli('localhost', 'root', 'krasnal','ksiazki');
  23.  
  24. if (mysqli_connect_errno())
  25. {
  26. echo 'bład : połaczeniez baza danych nie powiodło sie, sporoboj jeszcze raz poxniej';
  27. }
  28.  
  29. $zapytanie = "select * from ksiazki where ".$metoda_szukania." like '%".$wyrazenie."%'";
  30. $wynik = $db->query($zapytanie);
  31.  
  32. $ile_znalezionych = $wynik->num_rows;
  33.  
  34. echo '<p> ilosc znalezionych pzycji : ' .$ile_znalezionych.'<p>';
  35.  
  36. for ($i=; $i = $ile_znalezionych ; $i++)
  37. {
  38. $wiersz = $wynik->fetch_assoc();
  39. echo '<p><strong>'.($i+1).'. Tyuł:';
  40. echo stripslashes($wiersz['tytul']);
  41. echo '</strong><br />Autor: ';
  42. echo stripslashes($wiersz['autor']);
  43. echo '<br />ISBN: ';
  44. echo stripslashes($wiersz['isbn']);
  45. echo '<br />Cena: ';
  46. echo stripslashes($wiersz['cena']);
  47. echo '<p>';
  48. }
  49. $wynik->free();
  50. $db->close()
  51. ?>
  52. </body>
  53. </html>
slawek_master
jest oki:) przeoczylem tylko tamto smile.gif
ale teraz jest taki problem mianowicie taki ze chyba sie łaczy z baza albo sie nie łączy ale jak mu wpisuje co ma mi znalexc to pluje sie zebym wpisal kryteria wyszukiwania <co?>

dodam ze korzystam z krasnala, wiec moze mam dac w inne miejsca te pliki questionmark.gif jak mozecie to poradzcie cosik
nospor
Twoj select nazywa sie metoda_wyszukiwania a odwolujesz sie do $_POST['metoda_szukania']. nie uwazasz ze powinno byc inaczej?
slawek_master
racja:) tylko teraz jak wpisuje mu jakies dane to tylko wyskakuje "resultat wyszukiwania " i nic wiecej sad.gif
TG-S
A masz jakies dane wprowadzone do bazy....?
Jesli masz to proboj szukac czegos co wiesz ze jest na pewno w bazie. Jesli czegos nie ma to nie bedzie zadnych wynikow.
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.