![]() |
![]() ![]() |
![]() |
-Luxe- |
![]()
Post
#1
|
Goście ![]() |
Mam zapytanie:
W zmiennej $url1 moja byc dwie wartosci: albo adres strony www albo wartosc NULL. Pytanie moje jest takie. W jaki sposob to zrobic zeby w przypadku gdy jakies pole input było puste to wartość $url1 przyjęło wartość NULL, a gdy jest w tym polu jakiś adres to po prostu jako wartość zmienna $url1 przyjmowała ten adres? instrukcja ta
jest zła, gdyż $url = 'NULL'; oznacza przypisanie zmiennej $url ciągu znaków "NULL" co oznacza, że baza danych zapisuje to normalnie jakos tekst, a ja chce zeby zapisywalo to wtedy jako wartosc NULL. Mam nadzieje, ze nie zagmatwalem. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Jesli do bazy ma wrzucona pusta wartosc a to pole to varchar lub text to mozna zrobic pusta ciag znakow. -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 5.11.2005 Skąd: Bieruń city Ostrzeżenie: (0%) ![]() ![]() |
$url = NULL; // bez aporstrofów
-------------------- |
|
|
-Guest- |
![]()
Post
#4
|
Goście ![]() |
Cytat(NuLL @ 2005-12-17 15:44:46)
Jesli do bazy ma wrzucona pusta wartosc a to pole to varchar lub text to mozna zrobic pusta ciag znakow. Jest to pole VARCHAR(200), domyslnie ustawiona ma wartosc null. Ale gdy zrobie tak jak Ty mowisz, to po prostu pole w bazie jest puste, nic w nim nie ma ale jednoczesnie pole te nie jest wtedy ustawione na NULL ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat $url = '' To jest pusty string a nie null. Albo pomijasz pole podczas INSERT i masz w nim domyslna wartosc NULL albo przekazujesz NULL -------------------- |
|
|
-Guest- |
![]()
Post
#6
|
Goście ![]() |
Cytat(SongoQ @ 2005-12-17 16:01:21) Cytat $url = '' To jest pusty string a nie null. Albo pomijasz pole podczas INSERT i masz w nim domyslna wartosc NULL albo przekazujesz NULL Otóż właśnie nie mogę pominąć tego pola podczas INSERT, gdyż nie zawsze będę chciał przekazać temu polu wartość NULL. Zdarzy się, że będę chciał przypisać mu np wartość string "www.costam.pl". Do tego potrzebna jest instrukcja, która w przypadku TRUE przypisze temu polu wartość zmiennej, a w przypadku FALSE określi pole jako NULL. I właśnie nie mam pojęcia jaką wartość w tej instrukcji przypisać zmiennej, aby pole było NULL... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
NuLL juz pisal tylko zamiast $url = 'NULL';
![]()
-------------------- |
|
|
-Guest- |
![]()
Post
#8
|
Goście ![]() |
Cytat(SongoQ @ 2005-12-17 16:26:06) NuLL juz pisal tylko zamiast $url = 'NULL'; ![]()
Hmm... na pewno? Wydaje mi się, że jednak to nie jest to o co mi chodzi. Bo przecież $url = 'NULL'; oznacza, że zmiennej $url przypisujemy text 'NULL', równie dobrze można by napisać $url = 'wlazł kotek na płotek' i sens byłby wtedy praktycznie ten sam. przykładowo:
nie będzie równoznaczne z:
Jeśli się mylę, proszę mnie poprawić. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To co dostales od SongoQ to dobre rozwiązanie. W przypadku gdy pole bedzie puste, do zapytania wstawi sie NULL, ale bez cudzyslowi, co w efekcie da wartosc null dla pola. Gdy pole nie jest puste, dodane mu zostaną apostrofy, przez co mysql wczyta to jako text.
Jak nie wierzysz to se wygeneruj oba zapytania i zoabcz sam. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 14:56 |