![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Potrzebuję przerobić wyszukiwarkę, żeby zamiast jednego z select'ów (model) wyświetlał połączone rekordy z 2 kolumn (model + nadwozie). Mam takie coś:
Po zmianie zapytania na:
wyrzuca dwa błędy odnoszące się do linii: 1. Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined': 2. ( ! ) PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in E:\wamp\www\Tomek\2018-04-02\pokaz_haki.php on line 33 Ten post edytował Przemo75 3.04.2018, 14:35:49 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
w zapytaniu tworzysz parametr
:id a w php odwolujesz sie do :marka przenosze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Przed "rozszerzeniem" selecta "model" wszystko działało bezproblemowo. Schody zaczynają się dopiero teraz.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie wnikam co miales wczesniej. Mowie ci gdzie masz banalny blad. Tak ciezko poprawic?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Nie wnikam co miales wczesniej. Mowie ci gdzie masz banalny blad. Tak ciezko poprawic? Przepraszam, nie miałem racji. Nie mogło działać, bo faktycznie przekleiłem z błędem. Poprawione. W jaki sposób przerobić
żeby model był potraktowany jako wcześniejsze łączenie kolumn? Ten post edytował Przemo75 3.04.2018, 13:10:53 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to polacz jak to wczesniej laczyles. Choc to jest bez sensu bo tracisz indeksowanie. Rozbij model na te dwa pola i WHERE szukaj po tych dwoch wartosciach
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem na różne sposoby, ale ani
ani
nie działa poprawnie, bo ciągle wyrzuca błąd w |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Kiedy sie nauczysz ze :model w zapytaniu ma byc tez :model w bindowaniu? A nie zadne :model_new w bindowaniu a w zapytaniu :model... Naprawde nie widzisz analogii?
Poza tym nie WHERE CONCAT_WS(model, " - ", nadwozie) AS model_new=:model a: WHERE CONCAT_WS(model, " - ", nadwozie)=:model -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Kiedy sie nauczysz ze :model w zapytaniu ma byc tez :model w bindowaniu? A nie zadne :model_new w bindowaniu a w zapytaniu :model... Naprawde nie widzisz analogii? Poza tym nie WHERE CONCAT_WS(model, " - ", nadwozie) AS model_new=:model a: WHERE CONCAT_WS(model, " - ", nadwozie)=:model Widziałem analogię ale trochę pokręciłem. :-( Bardzo dziękuję za pomoc. Teraz wszystko działa jak należy. :-) Niestety działa dobrze tylko lokalnie. :-( Na serwerze niestety jest już problem. W nazwach gdzie występuje ' np. (marka) KIA (model) CEE'D SW - Kombi już nie wyświetla rocznika w select'ie. W bazie marka zapisana jest jako CEE\'D SW. Wydawało by się, że nie będzie problemów dzięki Jak się okazało, lokalnie nie wszystko działa. Niestety w jednej z łączonych kolumn (nadwozie) występują m.in. znaki "+" i ":", np. FORD KUGA - SUV, 2+4WD (dotyczy wiązki: wiązka rozbudowana) Można to jakoś "obejść"? Ten post edytował Przemo75 4.04.2018, 07:24:27 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Teraz widzisz na wlasne oczy jak sie konczy zle zaprojektowana baza danych. Zamiast po nazwach powinienies operowac po ID wowczas nie byloby takich problemow. Jak mozesz zmienic to zmien.
Jak nie to + czy : nie powinny miec tutaj zadnego znaczenia. Pewnie problem pojawia sie gdzies po drodze, np. w formularzu i sposobie jego wysylania -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
"+" i ":" nie powinny a jednak mają znaczenie. Powiedzmy, że można to "obejść" i wyedytować "nieporządane" rekordy. metoda trochę toporna, ale ... :-(
Tylko dlaczego znowu nie chce teraz "przepuścić" rekordów z apostrofem (')? Być może, jak zauważyłeś, problem faktycznie leży po stronie formularza obsługującego Rocznik (get_rocznik.php):
Powyższe działa lokalnie. Na serwerze nie działa, kiedy nazwa Modelu (teraz Model + Nadwozie) zawiera znak apostrof ('), np. CEE'D (w bazie jako CEE\'D) Ten post edytował Przemo75 4.04.2018, 10:23:30 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 13:51 |