![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 7.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
W jaki sposób wstawić wartość NUll do tabeli?
Dane pochodzą z formularza. Jak w formularzu pole jest puste to powinna zostać wstawiona wartość NULL CODE $_POST['pole1'] = ($_POST['pole1']!='' ? $_POST['pole1'] : NULL) ; Tak wygląda zapytanie CODE $zapytanie = "UPDATE `tabela` SET `pole1`='".$_POST['pole1']."' WHERE `id`='".$_GET['id']."' "; Pole w tabeli jest typu int. Domyślna wartość NULL Problem polega na tym, że za każdym razem wstawia się wartość 0 jak w formularzu jest puste pole. Jak wyświtlam sobie zapytanie to wygląda ono w następujący sposób zapytanie: UPDATE `tabela` SET `pole`='' WHERE `id`='1' Jak rozwiązać ten problem ? Ten post edytował bobo1 8.03.2008, 07:26:59 |
|
|
-Wieviór- |
![]()
Post
#2
|
Goście ![]() |
Według mnie, skoro w tabeli pole jest NULL, to możesz po prostu w zapytaniu nie ustawiać tego pola i domyślnie Ci się ustawi NULL.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Możesz zrobić tak jak pisze ~Wieviór.
Ja jednak wyjaśnię Ci dlaczego Twój skrypt nie działa. Zauważ jakie dostaniesz zapytanie przy danych $_GET['id']=1, $_POST['pole1'] = NULL:
W rezultacie wykona się zapytanie:
czyli w pole `pole1` zostanie wstawiony ciąg NULL (bo jest ujęty w ' więc jest traktowany jako ciąg). Aby traktować NULL jako wartość zmień:
oraz
i wtedy otrzymasz takie zapytania:
lub
Ale lepiej zrobić tak jak sugeruje Wieviór ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:06 |