![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 6.11.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taki oto kod:
ma on za zadanie wyszukać auta z bazy o podanych z formularza danych (takie zadanie domowe ![]() i gdy wysyłam z formularza te dane, wywala mi błąd : "Parse error: syntax error, unexpected $end in C:\Program Files\VertrigoServ\www\search.php on line 142" a linia 142 : to ta po zakończeniu strony i dalej nic tam nie ma. Nie wiem kompletnie jak to rozwiązać. Połączenie z baza jest ok, dane z formularza też wysyła poprawnie. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Sprawdź czy domknąłeś wszystkie nawiasy klamrowe w php
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 6.11.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ok działa, dzięki.
Ale dalej jest problem nie wyświetla wyświetlanego wyniku. A jestem pewny że to co wyszukuje w bazie danych jest. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 678 Pomógł: 124 Dołączył: 26.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Trochę za mało kodu żeby coś stwierdzić. Spróbuj usunąć spacje po '". $marka." między podwójnym a pojedynczym apostrofem. Nie wiem czy to coś da, ale teoretycznie może szukać pola gdzie marka ma spacje na końcu.
Ten post edytował Blame 7.11.2009, 07:54:42 -------------------- Napisane z palca! <- to tak dla lansu ;)
FancyStudio.pl - Tworzenie Stron WWW w Oparciu o XHTML, CSS, JS, PHP i MySQL. Mój blog :: Portfolio Fotograficzne Igora Biedrawy |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Nie stosuj porównania ( = ) dla marki i modelu bo to szuka dokładnie tego ciągu znaków jaki podajesz. Wystarczy, że ktoś wdusi gdzieś spację lub pomyli się o literkę to będziesz miał w wyniku brak rekordów. Stosuj w przypadku ciągów znakowych LIKE '%szukany%'
Ten post edytował thek 7.11.2009, 14:06:54 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 6.11.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
no cóż dalej nic się nie wyświetla... oto cały kod, nie mam pojęcia co może być źle:
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Zapytanie masz źle... Konkretnie apostrofy źle użyte. Nie baw się w "ciapki" i apostrofy bo one u Ciebie bajzel powoduja... to nie to samo. Wytrimuj $model i walnij tak poprawione zapytanie
![]() $zapytanie = 'SELECT marka, model, rokprod FROM cars WHERE marka = \''.$marka.'\' AND model LIKE \'%.( trim($model) ).'%\''; -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
[quote name='pikko' date='7.11.2009, 22:32:34 ' post='677901']
no cóż dalej nic się nie wyświetla... oto cały kod, nie mam pojęcia co może być źle: [/qote] Ja też nie mam pojęcia dlaczego masz apostrof przy modelu, rokprod zamiast capka
Stosuj echo mysql_error(); Ten post edytował potreb 7.11.2009, 23:18:53 -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 6.11.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ja też nie mam pojęcia dlaczego masz apostrof przy modelu, rokprod zamiast capka tak mnie w szkole uczyli ![]() no ok będę pamiętał na przyszłość, wkleiłem to zapytanie od theka, ale teraz to wywala mi takie błędy Cytat Warning: Unexpected character in input: '\' (ASCII=92) state=1 in C:\Program Files\VertrigoServ\www\search.php on line 126 domyślam się że gdzieś jest za dużo tego \ no ale nie wiem gdzie ;| Cytat Warning: Division by zero in C:\Program Files\VertrigoServ\www\search.php on line 126 że dzieli przez zero ? nie rozumiem skąd, ale pewnie spowodowane jest to tym 1 błędem tak jak i ten Cytat Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\VertrigoServ\www\search.php on line 131
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Nie za dużo \ tylko jeden ' za mało
![]()
ma być Zjadłem apostrof po % ![]() A co do nauki to nazw kolumn, baz nie obejmuje się niczym albo robi to w odwróconym apostrofie, który popularnie nazywa się tu "ciapkami" ![]() ![]() tak: ale jest to minimalnie wolniejsze, gdyż interpreter PHP musi przeszukać całe zapytanie czy aby nie występują w nim zmienne PHP lub jakieś znaki specjalne z racji użycia ", gdyż to co pomiędzy ' jest uznawane za ciąg znakowy, który należy idealnie przenieść. Wywołaj sobie w skrypcie coś takiego: a zobaczysz różnicę ![]() Ten post edytował thek 8.11.2009, 00:00:50 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 6.11.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
no ok dzięki faktycznie jest różnica i to nawet spora
![]() nie ma już błędów, ale dalej nie wyświetla żadnych wyników, połączenie z bazą jest dobre, wyszukiwane pola są w bazie, sprawdzałem już 10 razy , echo mysql_error(); nie wywala żadnego błędu , poprawiłem kod wg waszych zaleceń, i dalej nie działa ![]() może czegoś brakuje ? albo źle się do tego zabrałem ;| nie mam pojęcia. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
W takim wypadku problem może być już tylko w 2 miejscach...
1) $_GET['type'] nigdy nie ustawia się na 'show' i przez to do zapytania nie dochodzi. Ale w to wątpię patrząc na kod. Zrób sobie var_dump($_GET) dla pewności w kodzie. 2) Taka kombinacja nie istnieje, co możesz sprawdzić prosto... Zrób sobie echo $zapytanie w kodzie by wyświetlić co idzie do bazy i wywołaj to bezpośrednio w bazie (choćby przez phpMyAdmin). Jeśli zwróci pustkę to wiesz, że problemem jest brak takiej kombinacji. Ten post edytował thek 8.11.2009, 00:42:22 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 6.11.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ok wiem czemu : ) już działa... przyglądnąłem się dokładnie bazie i wychodzi na to że my dodawaniu marki z pola select, dodawane są spacje... no cóż człowiek się uczy na błędach, wielkie dzięki za pomoc i wyrozumiałość
![]() to jeszcze pytanie, żeby nie dodawało tych spacji mam je w jakiś sposób potraktować trimem ? formularz mam wykonany tak ( a dokladnie dodawanie samej marki ![]()
a kod PHP służący dodawaniu danych z formularza wygląda tak:
i jak mam jak coś tego trima wykonać? $marka= trim($marka); ![]() ![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 678 Pomógł: 124 Dołączył: 26.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
A działa?
![]() ![]() -------------------- Napisane z palca! <- to tak dla lansu ;)
FancyStudio.pl - Tworzenie Stron WWW w Oparciu o XHTML, CSS, JS, PHP i MySQL. Mój blog :: Portfolio Fotograficzne Igora Biedrawy |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Trim możesz zastosować jak podałeś, ale możesz już wcześniej, przy spisywaniu z Posta
$marka = trim( $_POST['marka'] ); Ważne by było to przed wrzuceniem zapytania do bazy. Jak widziałeś, w moim wcześniejszym przykładzie, można to zrobić nawet przy tworzeniu zapytania. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 6.11.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
działa działa wszystko jak trzeba
![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 17:13 |