Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 12.07.2009 Ostrzeżenie: (10%)
|
Mam taki problem. Podczas dodawania rekordów do tabeli w formularzu przypadkiem nie wypełniłam wszystkich pól. Tabela ma zdefiniowana każda kolumnę jako NOT NULL. I okazało się, że dodanie wiersza z pustymi łańcuchami (wydaje mi się, że puste pole przekazane przez formularz to właśnie taki pusty łańcuch) przeszło przez zabezpieczenie bazy o tych niezerowych kolumnach.
Jak tego uniknąć? pozdrawiam serdecznie Jola |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
To może ja dorzucę Joli dlaczego stało się tak jak mówi. W momencie gdy przesłałaś zawartość formularza na serwer nie wiedziałaś, że niewypełnione pola tekstowe także zwracają pewną wartość, o której nie wiesz. To tak zwany znak końca łańcucha. To jeden z niedrukowalnych znaków o jakim wielu początkujących z programowaniem nie wie, ale bardzo szybko się dowiaduje (IMG:style_emoticons/default/winksmiley.jpg) Zwłaszcza gdy się w C i C++ operuje na ciągach znakowych char*, bo mają one wtedy ogromne znaczenie i zapomnienie o nich potrafi mieć nieprzyjemne konsekwencje. W notacjach jest on zapisywany jako zero poprzedzone ukośnikiem, czyli \0, ale w formularzu podczas przesyłu nieco inaczej -> 0\' i możesz to zobaczyć podglądając zmienne POST. Jak więc widzisz, nie ma tam pustki tak naprawdę, i dlatego baza zapisuje go. To, że nic nie widzisz, nie znaczy, że nic tam nie ma (IMG:style_emoticons/default/winksmiley.jpg) Dlatego jeśli chcesz mieć pewność, że takie coś Ci nie przejdzie to użyj sprawdzenia używając empty() (IMG:style_emoticons/default/smile.gif)
|
|
|
|
jolam dziwne naruszenie integralności bazy - jak uniknąć omijania NOT NULL 22.10.2009, 13:32:26
phpion Wartość NULL to nie jest pusty string! Pusty s... 22.10.2009, 13:44:03
and_woj Użytkownik phpion już wyjaśnił, że NULL nie oznacz... 22.10.2009, 14:06:24
jolam Jeśli nie w SQL to w PHP. Jak Wy to rozwiązujecie,... 22.10.2009, 14:31:45
maly_swd w php:
[PHP] pobierz, plaintext if($_POST... 22.10.2009, 17:02:34
vokiel [PHP] pobierz, plaintext if (!empty($_POST... 22.10.2009, 17:15:10
jolam To jak lepiej zrobić? Powinnam użyć isset czy ... 23.10.2009, 07:30:36
piotrooo89 ja w 90% przypadkach używam empty. tylko w 10% uży... 23.10.2009, 07:33:27
phpion Używanie empty() może czasem prowadzić do dziwnych... 23.10.2009, 07:36:47
piotrooo89 i to jest właśnie to 10% przypadków w których używ... 23.10.2009, 07:38:45
wlatanowicz Nie za bardzo rozumiem, dlaczego za spójność danyc... 24.10.2009, 00:15:03
thek Dlaczego php? Bo skoro dane idą z formularza do ba... 25.10.2009, 16:54:35
vokiel Cytat(jolam @ 23.10.2009, 07:30:36 ) ... 25.10.2009, 21:15:26
jolam Bardzo wam wszystkim dziękuję za odpowiedź!
Sz... 26.10.2009, 09:08:31 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 17:05 |