Problem z kwerendą, Zapytanie nie wykonuje się |
Problem z kwerendą, Zapytanie nie wykonuje się |
7.10.2017, 09:25:24
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
Witam serdecznie!
Mam na swojej stronie wyszukiwarkę, która nie do końca działa poprawnie Kwerenda wyszukująca ma postać:
Jeśli nie wpiszę w formularz nazwy asortymentu wszystko działa Ok, jeśli wpiszę asortyment 724 znajdujący się w bazie w tabeli `produkcja` w rezultacie nie dostaję żadnego wyniku. Gdy wpiszę jako nazwę ciąg liter np tiul wszystko działa poprawnie. Pole nazwa asortymentu jest typu tekstowego. Inne zapytania bez nazwy asortymentu wykonują się poprawnie. Co robię źle? Proszę o podpowiedź, Pozdrawiam, Marek |
|
|
7.10.2017, 09:42:34
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Jeśli nazwa asortymentu zawiera frazę 724, a nie stanowi tylko 724, to fragment:
powinien wyglądać tak:
Postaraj się na poziomie skryptu zoptymalizować budowę zapytania - wszystkie LIKE '%' są zupełnie niepotrzebne. -------------------- |
|
|
7.10.2017, 10:14:46
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
Dziekuję za szybką odpowiedź. Nazwa asortymentu 724 to cała jego nazwa. Tak samo tiul, z tym że tiul wyszukuje, a 724 nie. Co może być nie tak?
|
|
|
7.10.2017, 10:30:59
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A nie ma tam czasem spacji lub innego białego znaku?
Sprawdź:
-------------------- |
|
|
7.10.2017, 10:40:18
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
Kwerenda, którą mi podałeś zwraca pusty wynik, czyli białych spacji brak.
|
|
|
7.10.2017, 10:46:31
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A co zwraca zapytanie:
? -------------------- |
|
|
7.10.2017, 10:52:28
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
Zapytanie zwraca pusty wynik. Gdy to samo zapytanie wpiszę w PHPMyAdmin wszystko jest Ok, walczę z tym już kilka dni i nic.
|
|
|
7.10.2017, 10:54:10
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A zapytanie, które podałeś wcześniej, jeśli je wykonujesz bezpośrednio w PHPMyAdmin, to dostajesz wyniki?
Ten post edytował trueblue 7.10.2017, 10:55:03 -------------------- |
|
|
7.10.2017, 10:58:01
Post
#9
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
Jakim tropem więc mam iść?
"SELECT * FROM produkcja WHERE nazwa_asortymentu LIKE 'tiul'"; - kwerenda w takiej postaci z poziomu PHP działa. |
|
|
7.10.2017, 11:00:53
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Zapytanie:
z poziomu PHP działa, a zapytanie:
nie działa? -------------------- |
|
|
7.10.2017, 11:09:24
Post
#11
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
Niestety nie. Gdy tylko zmienię tiul na 724 w kwerendzie wynik jest pusty mimo, że taki rekord istnieje.
Pole nazwa_asortymentu w bazie jest typu text Metoda porównywania napisów utf8_polish_ci |
|
|
7.10.2017, 11:11:23
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A bezpośrednio na bazie obydwa dają wynik, tak?
Jeśli tak, to pokaż w jaki sposób pobierasz wyniki w PHP. -------------------- |
|
|
7.10.2017, 11:16:46
Post
#13
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
Ten post edytował marekm65 7.10.2017, 11:17:54 |
|
|
7.10.2017, 11:18:49
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A gdzie reszta?
-------------------- |
|
|
7.10.2017, 11:26:00
Post
#15
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
|
|
|
7.10.2017, 11:35:03
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Pobierasz dwa razy rekordy, raz w if drugi raz w while.
Ten post edytował trueblue 7.10.2017, 11:36:30 -------------------- |
|
|
7.10.2017, 14:45:31
Post
#17
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
Serdeczne dzięki za pomoc. Problem rozwiązany, miłego weekendu. Pozdrawiam. Marek
|
|
|
7.10.2017, 14:58:39
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Ty to gdzieś produkcyjne używasz? Jest pełno dziur, stare rozszerzenie mysql, kolorowanie wierszy w CSS się robi, używaj pełnego '<?php' itd.
-------------------- |
|
|
10.10.2017, 21:38:05
Post
#19
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.01.2007 Skąd: Pabianice Ostrzeżenie: (0%) |
Robię to na serwerze strony firmowej kolegi. Programik jest do obsługi dziewiarni. A pliki znajdują się na serwerze Ogicom.
|
|
|
11.10.2017, 05:47:11
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
To pozostaje mieć tylko nadzieję że nie trzyma tam nic ważnego typu dane klientów.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 12:45 |