![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, bardzo będę wdzięczny za pomoc, bo juz sam nie wiem w czym jest problem. Mam stronę search.html i stronę results.php, w ramach results pragnę sie połączyc do określonej bazy i nic, wszytsko pada przy połączeniu.
search.html <html><head> <title>Book-O-Rama Catalog Search</title> </head> <body> <h1>Book-O-Rama Catalog Search</h1> <form action="results.php" method="post"> Choose Search Type:<br /> <select name="searchtype"> <option value="author">Author</option> <option value="title">Title</option> <option value="isbn">ISBN</option> </select> <br /> Enter Search Term:<br /> <input name="searchterm" type="text"> <br /> <input type="submit" value="Search"> </form> </body> </html> Strona results.php <html> <head> <title>Book-O-Rama Search Results</title> </head> <body> <h1>Book-O-Rama Search Results</h1> <?php // create short variable names $searchtype=$_POST['searchtype']; $searchterm=$_POST['searchterm']; $searchterm= trim($searchterm); if (!$searchtype || !$searchterm) { echo 'You have not entered search details. Please go back and try again.'; exit; } if (!get_magic_quotes_gpc()) { $searchtype = addslashes($searchtype); $searchterm = addslashes($searchterm); } @ $db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books'); //strona pada w tym miejscu if (mysqli_connect_errno()) { echo 'Error: Could not connect to database. Please try again later.'; exit; } $query = "select * from books where ".$searchtype." like '%".$searchterm."%'"; $result = $db->query($query); $num_results = $result->num_rows; echo '<p>Number of books found: '.$num_results.'</p>'; for ($i=0; $i <$num_results; $i++) { $row = $result->fetch_assoc(); echo '<p><strong>'.($i+1).'. Title: '; echo htmlspecialchars(stripslashes($row['title'])); echo '</strong><br />Author: '; echo stripslashes($row['author']); echo '<br />ISBN: '; echo stripslashes($row['isbn']); echo '<br />Price: '; echo stripslashes($row['price']); echo '</p>'; } $result->free(); $db->close(); ?> </body> </html> Próbowałem zmiennic na mysql_connect, usuwać @ i nic, jak baza przejdzie do się zacina na komendzie if, jak ją usunę to się zacina na dalszej części kodu. Dal wyjaśnienia uzywam krasnala - Apache, PHP5 = dodatek Mysql 4.1.11 - dla wersji MySQL 3+ też nic nie chodziło. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 22 Dołączył: 19.09.2007 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
A mógłbyś podać z jakim komunikatem o błędzie Ci się wysypuje na połączeniu do bazy?
A najlepiej na końcu lini dopisać or die(mysqli_error()); żeby linia wyglądała:
No i Krasnal z tego co wiem nie dodaje bibliotek z PHP5 automatycznie do %WINDOWS%\System32 i trzeba to zrobić ręcznie. To nie jedyna wada krasnala, więc polecam zmienić pakiet na coś innego. Ja ze swojej strony gorąco polecam XAMPP . Ten post edytował Nattfarinn 20.12.2007, 12:11:58 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Problem w tym że żaden błąd się nie wyswietla, poza </title> nic nie jest widoczne na stronie, ale zrobiłem mały test:
echo "hallo1"; @ $db = new mysqli('localhost', 'bookorama', 'bookorama123','books')or die(mysqli_error());; echo "hallo2"; i wynik jest taki że pojawia się tylko: Book-O-Rama Search Results hallo1 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 22 Dołączył: 19.09.2007 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Wywal małpę (@) i jeden średnik z końca lini i odpal jeszcze raz. Wklej co się pojawia.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Fatal error: Class 'mysqli' not found in c:\usr\krasnal\www\Learn\results.php on line 28
a jak usunę new to otrzymam Fatal error: Call to undefined function mysqli() in c:\usr\krasnal\www\Learn\results.php on line 28 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 22 Dołączył: 19.09.2007 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Eeee. A próbowałeś: mysqli_connect()? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tak, niestety ten sam błąd - a jest inna mozliwośc zeby połączyc się z bazą/ Są jakies dobre kursy na necie? Bo chyba w tym przypadku nic nie wykombinuje.
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Po prostu uzywasz modulu mysqli ktorego nie masz zainstalowanego.
Korzystaj z modulu mysql (bez "i"), ktory zapewne masz. http://pl2.php.net/manual/pl/ref.mysql.php I uzywaj BBCODE!!! |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
A jak mozna zainstalowac mysqli?
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dostales linka do manuala to korzystaj z niego
http://pl2.php.net/manual/pl/ref.mysqli.php pozatym na forum byla nie raz o tym mowa: uzyj szukajki |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 20.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
echo "hallo1";
@ $db = mysql_connect('localhost', 'bookorama', 'bookorama123','books')or die(mysql_error()); echo "hallo2"; if (mysql_connect_errno()) { echo 'Error: Could not connect to database. Please try again later.'; exit; } $query = "select * from books where ".$searchtype." like '%".$searchterm."%'"; $result = $db->query($query); Nic nie dało więc usunąłem if i wyskoczył błąd: Fatal error: Call to a member function query() on a non-object in c:\usr\krasnal\www\Learn\results.php on line 35 - dla $result = $db->query($query); Ale przynajmniej hallo2 się pojawił ;-) |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Grzecznie prosilem: uzywaj bbcode. Nie to nie. Zamykam
Podalem ci rowniez linka do manuala. Tam bylo wszystko napisane na temat mysql i funkcji jakich nalezy uzywac. Zajrzyj tam jeszcze raz a dowiesz się czemu masz blad. ps: jesli chcesz kontynuowac temat, napisz do mnie PW z poprawną trescia posta oraz z oznakami tego, ze zajrzales do manuala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 03:58 |