![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 30.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mój formularz dopuszcza puste pola w formularzu. Jeśli takie wystąpią chciałbym aby do bazy dodawał rekord NULL.
Problem w tym, że kolumny są typu UNIQUE i za drugim razem już nie pozwala mi pozostawić pustego pola w formularzu. Z góry dziękuje! .. $pole=$_POST['pole']; $pole2=$_POST['pole2']; $pole3=$_POST['pole3']; .. $ins = @mysql_query("INSERT INTO towary (pole, pole2, pole3) VALUES ( '$pole', '$pole2', '$pole3' )"); if($ins) echo "Rekord został dodany poprawnie"; else echo "Błąd nie udało się dodać nowego rekordu."; Ten post edytował MaryonD 31.10.2012, 10:30:55 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Bo nie wstawiasz tam NULLi, tylko wartości puste.
Poza tym nie ma typu UNIQUE ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 30.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem według zaleceń, ale efekt mam ten sam. Czyli wstawia mi teraz puste pole do tabeli, ale drugi raz już na to nie pozwoli.
CO do typu UNIQUE to chodzi mi o to, że w tabeli nie mogą mi sie powtarzać dwa takie same rekordy z formularza, OPRÓCZ właśnie tych pól pustych czy NULL, które powstają z pustych niewypełnionych pól w formularzu. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Pamiętaj, że tego NULL'a musisz przesyłać bez cudzysłowów.
INSERT INTO towary (pole, pole2, pole3) VALUES ( 'wypelnione', 'wypelnioneinaczej', NULL ) Ten post edytował Damonsson 31.10.2012, 12:04:34 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 30.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Po zmianach mam coś takiego:
if(isset($_POST['pole'])) { $pole=NULL; } else { $pole=$_POST['pole']; } var_dump($pole); //Tutaj ładnie pokazuje mi NULL (nie jako string, tylko właściwie jako pusty rekord) $ins = @mysql_query("INSERT INTO towary (pole, pole2, pole3) VALUES ( $pole, $pole2, $pole3)"); //Jeśli dam w ten sposób bez ' ' to skrypt nie działa. Nie moge dać na sztywno VALUES ( NULL, $pole2, $pole3) ponieważ nie zawsze to pole jest puste, zależy to od wpełnienia formularza. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 479 Pomógł: 97 Dołączył: 6.09.2011 Skąd: php.net :) Ostrzeżenie: (0%) ![]() ![]() |
I nie używaj @ przy czymkolwiek, jeśli jest błąd, napraw go. Ten post edytował IProSoft 31.10.2012, 13:10:19 -------------------- Manual prawdę Ci powie.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 30.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Super! Dzięki
![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 5.07.2025 - 10:06 |