Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]data wpisana mimo że jest pusta
neurogen
post 12.12.2018, 20:12:53
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 25.03.2018

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


pole w bazie mysql daty urodzenia jest NULL ale pobrana przez php wartość pola wyświetla datę jako 01-01-1970. jak to naprawić?
Go to the top of the page
+Quote Post
Neutral
post 12.12.2018, 20:27:27
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

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


Pokaż w jaki sposób wyciągasz wartość z tego pola w PHP.
Go to the top of the page
+Quote Post
neurogen
post 12.12.2018, 20:28:49
Post #3





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 25.03.2018

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


$urodziny = date('d-m-Y', strtotime($row['urodziny']));
Go to the top of the page
+Quote Post
Neutral
post 12.12.2018, 20:50:19
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

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


Odpowiedź jest zależna od tego, co masz w zmiennej $row['urodziny'], gdybyś mógł, to wklej tutaj zawartość z tej zmiennej, napisz tak:

  1. var_dump($row['urodziny']);


Podaj jeszcze typ kolumny z bazy z której wybierasz datę. Czy jest to timestamp, czy coś innego.

Ten post edytował Neutral 12.12.2018, 20:55:53
Go to the top of the page
+Quote Post
neurogen
post 12.12.2018, 21:00:56
Post #5





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 25.03.2018

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


typ kolumny date z wartością domyślną NULL
var_dump($row['urodziny']); wyświetla słowo NULL
Go to the top of the page
+Quote Post
Neutral
post 12.12.2018, 21:48:50
Post #6





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

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


  1. $zone = new DateTimeZone('Europe/Warsaw');
  2. $timestamp = new DateTime(null, $zone);
  3. $timestamp_val = $timestamp->getTimestamp();
  4. //$timestamp_val = null;
  5.  
  6. if(!is_null($timestamp_val)) {
  7. var_dump($timestamp->setTimestamp($timestamp_val)->format('H:i:s'));
  8. } else {
  9. // here insert any sequence
  10. }
  11.  


Może jest w jakiejś klasie daty i/lub czasu coś co ustawia automatycznie datę i/lub czas, kiedy user poda null'a, ale musiałbyś sprawdzić.

http://php.net/manual/en/book.datetime.php

Ten post edytował Neutral 13.12.2018, 03:06:33
Go to the top of the page
+Quote Post
trueblue
post 12.12.2018, 22:10:46
Post #7





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Wartość daty to NULL i taka jest pobrana przez PHP, a nie 01-01-1970. Ty ją przekształcasz na tą wartość. Funkcja strtotime uznaje NULL za 0 i zwraca Ci (wraz z date) początkową datę czasu unixowego.
Czego oczekujesz w takiej sytuacji?


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 16:58