Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Zmienna przyjmuje dziwną wartosc
przemo191
post 23.10.2011, 19:16:10
Post #1





Grupa: Zarejestrowani
Postów: 154
Pomógł: 3
Dołączył: 1.08.2011

Ostrzeżenie: (0%)
-----


Witam, mam taki problem.

Mam taki formularz w którym podaję nip itp, i chodzi o to że kiedy aktualizuję wpisy w bazie danych, to w polu nip pojawia mi się dziwna wartość, ale tylko kiedy zmienna ma więcej niż 10 znaków, jeżeli ma 10 lub mniej to jest ok. Reszta pól działa bez zarzutu, czego to może być problem? A najdziwniejsze jest to że kiedy wyświetlam wartość tuż przed zaktualizowaniem jej w bazie to jest odpowiednia, ale kiedy wyświetlę ją niżej po wyciągnięciu z bazy ma zupełnie inną wartość niż miała na początku.

Formularz.
  1. <div class="form-row">
  2. <span class="label">NIP *</span></td>
  3. <td><input class="tekst" type="text" name="nip" maxlength="15" value="<?php echo $nip1; ?>"></td>
  4. </div>

Wpis aktualizujący
  1. $query="UPDATE account SET imie='$name', nazwisko='$lastname', miejscwosc='$miejscowosc', wojewodztwo='$wojewodztwo', telefon='$telefon', kraj='$kraj', nazwa_firmy='$nazwa_firmy', wysylka_tytul='$wysylka_tytul', wysylka_imie='$wysylka_name', wysylka_nazwisko='$wysylka_lastname', wysylka_wojewodztwo='$wysylka_wojewodztwo', wysylka_ulica='$wysylka_street', wysylka_nr_domu='$wysylka_numer_domu', wysylka_nr_mieszkania='$wysylka_numer_mieszkania', wysylka_kod_poczt='$wysylka_kod_poczt', wysylka_miejscowosc='$wysylka_miejscowosc', ulica='$street', nr_domu='$numer_domu', nr_mieszkania='$numer_mieszkania', kod_poczt='$kod_poczt', nip='$nip' WHERE email='$email'";
Go to the top of the page
+Quote Post
konrados
post 23.10.2011, 19:24:14
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


No a jaki typ danych masz w bazie? Może np. varchar 10 ?
Go to the top of the page
+Quote Post
przemo191
post 23.10.2011, 19:25:35
Post #3





Grupa: Zarejestrowani
Postów: 154
Pomógł: 3
Dołączył: 1.08.2011

Ostrzeżenie: (0%)
-----


W bazie to pole ma typ danych int 15

Ten post edytował przemo191 23.10.2011, 19:25:53
Go to the top of the page
+Quote Post
konrados
post 23.10.2011, 19:27:02
Post #4





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Kurde, co?questionmark.gif Twoim zdaniem int nadaje się do przetrzymywania stringów?

Zamień na varchar 15

Ten post edytował konrados 23.10.2011, 19:28:00
Go to the top of the page
+Quote Post
Ulysess
post 23.10.2011, 19:28:04
Post #5





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

Ostrzeżenie: (0%)
-----


to nic nie zmienia , masz pole int wiec nawet jesli masz UNSIGNED to max wartośc to 4,2mld , proponuje zmienić typ pola na BIGINT smile.gif
Go to the top of the page
+Quote Post
przemo191
post 23.10.2011, 19:28:17
Post #6





Grupa: Zarejestrowani
Postów: 154
Pomógł: 3
Dołączył: 1.08.2011

Ostrzeżenie: (0%)
-----


Jest to pole do wpisywania nip, a kto ma nip z literami??


//edit
To pole jest ograniczone w formularzu do max 15 znaków + wcześniej jest skrypt sprawdzający poprawności wpisanych danych.

Zmieniłem na varch i działa, dzięki za pomoc.

Ten post edytował przemo191 23.10.2011, 19:32:30
Go to the top of the page
+Quote Post
konrados
post 23.10.2011, 19:32:17
Post #7





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Nigdy nie przyszło by mi do głowy przechowywać NIP jako int, bo pierwej musiałbym zrobić badanie jakie są maksymalne wartości tego NIPa. Najsensowniejszym rozwiązaniem wg. mnie jest więc varchar.

Ale jeśli sprawdziłeś jak to jest z nipami, to ok, możesz użyć UINT/BINGINT
Go to the top of the page
+Quote Post
przemo191
post 23.10.2011, 19:34:07
Post #8





Grupa: Zarejestrowani
Postów: 154
Pomógł: 3
Dołączył: 1.08.2011

Ostrzeżenie: (0%)
-----


Maksymalna długość dla nip-a to chyba 11 o ile się nie mylę.

Problem rozwiązany zmieniłem typ pola na varch, i jest ok.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 09:54