Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z date("H:i:s")
tonapewno
post 13.08.2010, 12:15:24
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 5.11.2009

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


tak wygląda moja funkcja dodająca komentarze:
  1. function add_coment ($user, $data, $time, $comm)
  2. {
  3. $res = INSERT INTO comments VALUES ($user, $data, $time, $comm);
  4. $fin = mysql_query($res) or die (mysql_error());
  5.  
  6. if ($fin)
  7. {
  8. echo "Komentarz dodany";
  9. } else {
  10. }
  11.  
  12. }

a w taki sposób przypisuje zawartość do zmiennych:
  1. $user = "Michal";
  2. $data = date("Y.m.d");
  3. $time = date("H:i:s");
  4. $comm = $_POST['comment'];


a błąd polega na tym ze w bazie danych godzina wyświetla mi się tak 00:00:12. Możecie pomóc?

Ten post edytował tonapewno 13.08.2010, 12:16:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 13.08.2010, 12:18:52
Post #2





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




Czemu wogóle rozbijasz pole z datą na dwa: data i czas? przeciez jedno pole typu DATETIME wystarczy


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
erix
post 13.08.2010, 12:23:09
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  • pokaż deklarację tabeli
  • dlaczego wartości w zapytaniach nie są w cudzysłowach?
  • poczytaj o sql injection, bo Twój skrypt jest dziurawy jak polskie drogi


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
tonapewno
post 13.08.2010, 12:48:58
Post #4





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 5.11.2009

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


dobra już sobie poradziłem wystarczyło w zapytaniu w miejscu $time wstawić NOW()

Ten post edytował tonapewno 13.08.2010, 13:14:06
Go to the top of the page
+Quote Post
glh
post 13.08.2010, 13:13:32
Post #5





Grupa: Zarejestrowani
Postów: 97
Pomógł: 20
Dołączył: 18.12.2007
Skąd: Poznań

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


Przy takiej deklaracji tabeli mysql:
  1. CREATE TABLE comments
  2. (
  3. id_comment int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  4. user varchar(100) NOT NULL,
  5. data_czas timestamp DEFAULT now(),
  6. comments blob
  7. );


Taki kod działa:

  1.  
  2. function add_comment($user,$comment)
  3. {
  4. $q=sprintf("insert into comments(user,comment) values('%s','%s')",mysql_real_escape_string($user),mysql_real_escape_string($comment));
  5. $res=mysql_query($q);
  6. if ($res) echo "dodano wpis!<br/>";else die("Blad zapytania!");
  7. }
  8.  
  9.  
  10. function pokaz_komentarze()
  11. {
  12.  
  13. $q="select user,data_czas,comment from comments";
  14. $res=mysql_query($q);
  15. if ($res)
  16. {
  17. while ($rekord=mysql_fetch_assoc($res))
  18. {
  19. echo "Data czas:". $rekord['data_czas']."<br/>Uzytkownik: ".$rekord['user']."<br/>komentarz: ".$rekord['comment']."<br/><br/>";
  20. }
  21. } else die("Blad zapytania!");
  22. }
  23.  
  24. add_comment("Testowy","to jest zapis testowy.");
  25. pokaz_komentarze();


--------------------
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: 20.07.2025 - 07:12