Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zamiast NULL wstawia "0" ?
MariuszS
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.09.2004
Skąd: Radom

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


Witam,
Problem może dość noobowy ale nie mogę sobie z nim poradzić.
Mam w tabeli pole typu int(11) z NULL ustawionym na TAK, domyślnie NULL.
Gdy wysyłam zapytanie z pliku z pustym POSTem wstawia mi 0 zamiast NULL.
Gdy dodaje rekord z poziomu phpmyadmina wstawia mi NULL.
Chcę żeby zamiast tego 0 był NULL gdy wysyłam zapytanie z pliku.
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Zrzuć zapytanie na ekran i zobacz co się wykonuje
Go to the top of the page
+Quote Post
MariuszS
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.09.2004
Skąd: Radom

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


Wartości dla tego pola nie ma jest: pole="" więc teoretycznie powinien się wrzucić NULL a nie 0.
Go to the top of the page
+Quote Post
skowron-line
post
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(MariuszS @ 26.05.2012, 13:14:47 ) *
Wartości dla tego pola nie ma jest: pole="" więc teoretycznie powinien się wrzucić NULL a nie 0.

no niestety rozczaruje cię
  1. INSERT tabela (id, pole) VALUES (1, "")
pole = 0
  1. INSERT tabela (id) VALUES (1)
pole = null
Go to the top of the page
+Quote Post
MariuszS
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.09.2004
Skąd: Radom

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


Na innej wersji bazy gdy daje pole="" wrzuca NULL więc nie do końca jest również tak jak ty piszesz:)
Go to the top of the page
+Quote Post
Niktoś
post
Post #6





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


To może zamiast:
  1. INSERT tabela (id, pole) VALUES (1, "");

spróbuj użyć null:
  1. INSERT tabela (id, pole) VALUES (1, NULL)


Poza tym null !="" i null!=0 -musiałbyś zrobić coś w sylu:
  1. INSERT tabela (id, pole) VALUES (1, (($variable===0)?NULL:$variable))



Ten post edytował Niktoś 26.05.2012, 14:52:39
Go to the top of the page
+Quote Post
!*!
post
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


I bardzo dobrze Ci podaje. W php wszystko jest stringiem, dlatego

  1. $x = '';


zwraca string(0) "" i tak też wysyłasz to do bazy jako zmienną która istnieje.

Cytat
Null - czy pole może przyjmować wartości NULL.
Domyślne - domyślna wartość tego pola w nowych rekordach.


Ten post edytował !*! 26.05.2012, 15:10:19
Go to the top of the page
+Quote Post
ethann
post
Post #8





Grupa: Zarejestrowani
Postów: 56
Pomógł: 18
Dołączył: 7.04.2012

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


Cytat
W php wszystko jest stringiem

Types

Co masz na myśli mówiąc, że wszystko jest stringiem? Zmienne przesyłane POSTem/GETem?
Go to the top of the page
+Quote Post
!*!
post
Post #9





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(ethann @ 26.05.2012, 16:38:20 ) *
Co masz na myśli mówiąc, że wszystko jest stringiem? Zmienne przesyłane POSTem/GETem?


Tak, do tego odnosi się temat.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 15:14