[PHP] liczba która nie jest liczbą |
[PHP] liczba która nie jest liczbą |
11.09.2019, 13:28:26
Post
#1
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 21.01.2010 Skąd: Nowy Sącz Ostrzeżenie: (0%) |
Witam
mam taki dziwny problem, przechwytuje niby liczbę przez zmienną POST która nie jest liczbą, tzn przez echo oraz print wyświetla się 2, ale ani mysql nie rozpoznaje jej jako 2, gdy mnożę tą liczbę razy 1 otrzymuje 0, funkcja intval też pokazuje 0. Spotkał się ktoś z takim problemem za bardzo nie wiem gdzie szukać |
|
|
11.09.2019, 13:36:00
Post
#2
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
To pokaz to co ma ten post
Sprawdz przez is_numeric() Ten post edytował dublinka 11.09.2019, 13:39:14 -------------------- |
|
|
11.09.2019, 13:39:54
Post
#3
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 21.01.2010 Skąd: Nowy Sącz Ostrzeżenie: (0%) |
2
sprawdzałem is_numeric() wyświetla fałsz, z tym że zawsze wystarczyło albo użyć trim albo mnożyć razy 1, albo zdefiniować typ zmiennej (int) Ten post edytował adi456 11.09.2019, 13:41:23 |
|
|
11.09.2019, 13:45:19
Post
#4
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Mam rozumiec ze przekazujesz liczbe 2 postem a potem podczas odczytu nie jest juz "dwójką"?
Nie kombinujesz nic miedzyczasie z tym ? -------------------- |
|
|
11.09.2019, 13:47:44
Post
#5
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 21.01.2010 Skąd: Nowy Sącz Ostrzeżenie: (0%) |
wynik: problem dotyczy 2 lipa liczba lipa tablica 0 0 0 |
|
|
11.09.2019, 13:47:53
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
pokaż `var_dump($_POST['twoja_liczba']);`
|
|
|
11.09.2019, 13:51:04
Post
#7
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 21.01.2010 Skąd: Nowy Sącz Ostrzeżenie: (0%) |
string(7) "2"
|
|
|
11.09.2019, 13:51:54
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
formularz masz skopany. Pokaż go
|
|
|
11.09.2019, 13:54:46
Post
#9
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Jesli ustawisz na sztywno $liczbe
Wynik: problem dotyczy 2. liczba lipa tablica 2 2 2 Wiec problem w formularzu raczej -------------------- |
|
|
11.09.2019, 13:56:32
Post
#10
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 21.01.2010 Skąd: Nowy Sącz Ostrzeżenie: (0%) |
a sorki teraz się zorientowałem że ta liczba 2 pochodzi z bazy a nie z zmiennej POST (sorki ale mam gorączke) ale dlaczego ten string nie chce się konwertować na liczbę? Ten post edytował adi456 11.09.2019, 13:57:11 |
|
|
11.09.2019, 14:06:04
Post
#11
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Dlatego że ma białe znaki na froncie. Konwersja (rzutowanie) działa na zasadzie że jeśli 1-szy znak jest liczbą to string jest konwertowany na liczbę do 1-szego nienumerycznego znaku.
Możesz zrobić tak: Kod (int)filter_var($kod, FILTER_SANITIZE_NUMBER_INT) Inne pytanie dlaczego tak się zapisuje (brak obróbki przed zapisem?) Ten post edytował Pyton_000 11.09.2019, 14:07:06 |
|
|
11.09.2019, 14:14:48
Post
#12
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Jesli pole w tabeli jest tylko dla liczb to ustaw ja na INT. Nie wiem jak tam masz. Moze jest varchar. Przed zapisem tez rzutuj na liczbe i moze settype()
-------------------- |
|
|
11.09.2019, 14:17:17
Post
#13
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 21.01.2010 Skąd: Nowy Sącz Ostrzeżenie: (0%) |
w tym przypadku varchar jest wygodny bo najczęściej jest kilka liczb ale przynajmniej wiem w czym problem dzięki wielkie za info
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 15:21 |