![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 19.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
PHP Version: 5.2.17
MySQL 5.1.65 Apache 2.2.22 strona stoi na serwerze firmy Serveradmin.pl ale to już chyba nie istotne. Witam, Mam utworzoną tabelę klientów w bazie danych MySQL: CREATE TABLE IF NOT EXISTS `customers` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `email` varchar(80) NOT NULL, `first_name` varchar(20) NOT NULL, `last_name` varchar(40) NOT NULL, `address1` varchar(80) NOT NULL, `address2` varchar(80) DEFAULT NULL, `city` varchar(60) NOT NULL, `state` char(2) NOT NULL, `zip` mediumint(5) unsigned zerofill NOT NULL, `phone` int(10) NOT NULL, `date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `email` (`email`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ; Wszystkie dane wpisane w formularzu na stronie przez klienta są dodawane do bazy danych, problem jest tylko z kodem pocztowym 'zip'. Mianowicie baza danych w ogóle nie zapisuje kodu pocztowego, np zamiast 21-150 automatycznie mi daje 0000 :/ Fragment kodu dotyczący pobierania kodu pocztowego podczas wypełniania formularza kontaktowego: CODE if (preg_match ('/^(^\d{2}-\d{3})$/', $_POST['cc_zip'])) { $cc_zip = $_POST['cc_zip']; } else { $billing_errors['cc_zip'] = 'Wpisz kod pocztowy!'; } Gdzie mogę szukać błędu? Proszę o pomoc. Ten post edytował Endure 22.10.2012, 17:56:36 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
21-150 = varchar
Ten post edytował szalek01 22.10.2012, 17:54:52 -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 19.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Usunąłem tabelę i od nowa ją stworzyłem zrobiłem `zip` varchar (5) unsigned zerofill NOT NULL, ale nie przyjmuje wywala error: #1064 - Something is wrong in your syntax obok 'unsigned zerofill NOT NULL, `phone` int(10) NOT NULL, `date_created` times' w linii 10
CODE CREATE TABLE `customers` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `email` varchar(80) NOT NULL, `first_name` varchar(20) NOT NULL, `last_name` varchar(40) NOT NULL, `address1` varchar(80) NOT NULL, `address2` varchar(80) DEFAULT NULL, `city` varchar(60) NOT NULL, `state` char(2) NOT NULL, `zip` varchar (5) unsigned zerofill NOT NULL, `phone` int(10) NOT NULL, `date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `email` (`email`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; usunąłem unsigned zerofill zostawiłem samo `zip` varchar (5) NOT NULL, w bazie mi zapisało wartość21-150 jako -129 :/ Ten post edytował Endure 22.10.2012, 18:13:06 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No ale kurcze.... mysl troche.... od kiedy VARCHAR moze byc unsigned czy zerofill?
I już tak na marginesie: od kiedy 21-150 to 5 znaków? Ja rozumiem, że jest już 7 wieczór no ale bez przesady... -------------------- "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: 35 Pomógł: 0 Dołączył: 19.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
ehh no nie wiem wiem że wykraczam już poza prawa logiki ale próbuje już wszystkiego kiedy najlepsze rozwiązania zawodzą :/ a tak to 6 znaków już zmieniam.
Ten post edytował Endure 22.10.2012, 18:17:19 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ty nie strzelaj a poprostu pomyśl chwilkę...
Cytat w bazie mi zapisało wartość21-150 jako -129 Bo tekst wkłada się jak tekst a nie jak liczbę.Nie: ....VALUES(.....,12-250,.....).... a: ....VALUES(.....,'12-250',.....).... -------------------- "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: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
ehh no nie wiem wiem że wykraczam już poza prawa logiki ale próbuje już wszystkiego kiedy najlepsze rozwiązania zawodzą :/ a tak to 6 znaków już zmieniam. Zostaw 5 znaków, zostaw int, tylko przed przesłaniem zmiennej do zapytania pozbądź się myślnika, poza walorem estetycznym posiada jeszcze jakiś? Możesz równie dobrze go dodawać przy samym wyświetlaniu. W bazie przechowuj samą liczbę. Mniej zajmie. Albo zmień to przy wpisywaniu kodu pocztowego, albo automatycznie przez skrypt PHP. -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 19.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
b4rt3kk dzięki wielkie pomogło
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:42 |