Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> data= 0000-00-00 zamiast null, Istnieje możliwość wpisania null w datę?
boxer
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 15.03.2005

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


Witam.

Problem jest tego typu.

Formularz z datą.

Jeżeli data nie jest poprawna to w zmienną $data wpisuję null
  1. <?php
  2. $data=null;
  3. ?>
a następnie wpisuję ją do bazy.

Insert into pracownicy values(null,"'.$Imie.'","'.$data.'");

Problem polega na tym iż zamiast null w bazie mam 0000-00-00, przez co dochodzi do niespójności danych.

Wartośc domyślna kolumny data w bazie to null.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
vala
post
Post #2





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 12.01.2005

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


lepiej zrob tak
  1. <?php
  2.  
  3. $data=date(&#092;"Y,m,d\"); 
  4.  
  5.  
  6. ?>

poniewaz mysql automatycznie modyfikuje wpis daty na 0000-00-00
jezeli jest ona zle podana
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Bo zle piszesz. Musi być:
  1. <?php
  2. $data='null';
  3. ?>

Trzeba wstawić do zapytania napis null, a nie wartość null

edit: tylko gdy jest już null, to do zapytania wstawiaj bez ciapków, inaczej znowu się wykrzaczy

Ten post edytował nospor 25.03.2005, 09:41:23
Go to the top of the page
+Quote Post
boxer
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 15.03.2005

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


Niestety wpisanie nulla w ten sposób
  1. <?php
  2. $data='null';
  3. ?>
też nic nie daje (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
W bazie jest 0000-00-00.
Go to the top of the page
+Quote Post
hwao
post
Post #5


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  1. <?php
  2. $zmiena = 'values(null,\"'.$Imie.'\",\"'. ( $data === null ? 'NULL' : $data ) .'\");';
  3. echo $zmiena;
  4. ?>


?:-)

Chyba nie da sie tego pominac poniewaz mysql sobie samo wpisuje automatycznie 0000-00-00 :-) mozesz potem wywalic np te linijki ktore maja 0000-00-00
  1. WHERE DATA != 0000-00-00
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ale ważne tez jest zapytanie. Ty dawales date w ciapkach, a gdy jest null to nie może byc w ciapkach:
"Insert into pracownicy values(null,'$Imie',$data)"

Rozumiesz?
Go to the top of the page
+Quote Post
boxer
post
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 15.03.2005

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


Witam thx za szybkiego posta.

Zrobilem tak jak hwao polecił.

Po wpisie update bazy, tam gdzie zera na null.
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: 23.08.2025 - 08:31