![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taki problem i nie mam pojęcia jak to zrobić. Otórz wykonuję zapytanie do bazy: SELECT cena FROM ........ WHERE cena='".$cena."' .......
Cena nie jest jedynym warunkiem, ale nie o to chodzi. Chodzi o to że w bazie znajduje się wartość np: 20.99 (typ kolumny to FLOAT(10,2) na 100% jest tam ta wartość bo sprawdzałem. Przy wykonaniu zapytania $cena=20.99 a jednak MYSQL nie widzi podobieństwa i nie znajduje mi tej ceny. Wyświetlałem sobie tą $cena przed zapytaniem i jest poprawna. Inne wartość WHERE też są ok. Problem jest z ceną :/ POMOCY. Co zrobić żeby MYSQL porównał obie wartości poprawnie? zapomniałem dodać że jesli w bazię będzie wartość 10.00 i taką samą chcemy porównać to ZNAJDZIE! więc 10.00 == 10.00 20.99 != 20.99 ![]() ![]() Ten post edytował zflyk 11.11.2007, 02:05:27 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
w koncu kolumna liczbowa a nie tekstowa, prawda ... wiec czemu liczba podana stringowo? Ten post edytował prgTW 11.11.2007, 02:06:40 -------------------- Pozdrawiam
Tomasz Wójcik ..:: prgTW ::.. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
w koncu kolumna liczbowa a nie tekstowa, prawda ... wiec czemu liczba podana stringowo? no pomysł niezły, ale niebardzo :/
Update robi ok
wpisuje 35.30 ale przy SELECT już nie.
czy w takiej postawi jak proponowałeś
nic nie zwraca Dla
jest OK i dla innych wartości po przecinku nie znajduje nic ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 43 Dołączył: 9.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Możesz zastosować DECIMAL, a nie FLOAT. Problem z liczbami rzeczywistymi jest opisany w dokumentacji
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
mozna CASTowac ale to juz mija sie z celem
-------------------- Pozdrawiam
Tomasz Wójcik ..:: prgTW ::.. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za propozycje ale już sobie poradziłem. Przeglądając to forum natknąłem się na "zamienny sposób na ten problem. Koleś napisał że on zamienia kropki na spacje, więc poszedłem tym tropem. napisałem prostą funkcję która zamienia kropkę na spacje lub odwrotnie, sama sprawdza co ma zrobić i zamieniłem w bazie Float na Varchar
![]() Oto ta funkcja, może komuś się przyda:
Ten post edytował zflyk 12.11.2007, 00:18:58 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Po co uruchamiać do tego wyrażenia regularne?
-------------------- Pozdrawiam
Tomasz Wójcik ..:: prgTW ::.. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
BO eregi troche kojarzę a strpos nie
![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Uuu Panie
![]() ![]() -------------------- Pozdrawiam
Tomasz Wójcik ..:: prgTW ::.. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam
Twoje zapytanie nadal wysyłało cenę jako tekst. Nie jest ważne jak jest zmienna w php inicjowana/jakiego jest typu. Masz: Kod "UPDATE gm_towary SET cena='".$cena."' WHERE id='1'" a powinieneś mieć: Kod "UPDATE gm_towary SET cena=".$cena." WHERE id='1'" czyli bez pojedynczych ' pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
![]()
Post
#12
|
|
Grupa: Zablokowani Postów: 16 Pomógł: 1 Dołączył: 12.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie jest ważne jak jest zmienna w php inicjowana/jakiego jest typu. W tym wypadku jest ważne, bo konwersja float=>string (w php a nie mysql'u) jest powodem problemu. Powinno być:
albo:
Z uwagami o apostrofach się zgadzam. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Już próbowałem bez apostrofów, bo ktoś wcześniej o tym pisał, ten sam objaw.
tego też próbowałem i nic :/ Już sobie z tym poradziłem. Dzięki za odpowiedzi. Pozdr |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:41 |