PHP bir MySQL Tarih ve Saat değerini takma

3 Cevap php

Merhaba ben bir MySQL veri tabanı mysql DateTime formatı ile uyumlu bir biçimde bir tarih ve saati göndermek istediğiniz, wich: 0000-00-00 00:00:00 ...

Bir PHP komut tarih ve saati getirir bu kodu kullanarak Im:

   $insert = "INSERT INTO sms (ref, texto, fecha)
   VALUES ('".$_POST['usuario']."', '".$_POST['sms']."', '".date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000))."')";
   $add_member = mysql_query($insert);

Ben gerçekten bunu yapmak istiyorum ama bir MySQL komutu ile, i mysql sunucudan Tarih ve Saat kullanarak, demek. Teşekkürler

3 Cevap

Kullan NOW(), kayıt eklerken INSERT INTO table (date) VALUES (NOW())

Kodunuz için:

$insert = "INSERT INTO sms (ref, texto, fecha)
VALUES ('".$_POST['usuario']."', '".$_POST['sms']."', NOW() )";
$add_member = mysql_query($insert);

MySQL bir giriş olarak sağlanan tarih biçimleri sadece sınırlı sayıda sağlar. Dan MySQL manual:

Sadece aşağıdaki bölümlerde anlatıldığı formatları destekleniyor. Bu yasal tedarik değerleri beklenmektedir. Diğer formatlarda değerleri kullandığınızda beklenmeyen sonuçlar ortaya çıkabilir.

Bunu may be çözümlü olsa (MySQL tarafından desteklenen ve bağlı olarak doğru kayıtlı değil biçimi Y-m-d\TH:i:sP (DATE_ATOM sabit değer), tarihini veriyoruz Geçerli SQL modu).

Sen date('Y-m-d H:i:s', ...) yerine kullanmalısınız.

P.S. And, yes, you should protect your code from SQL injections.

Öncelikle ben yorumlarda tavsiye takip ve SQL enjeksiyon okumak gerektiğini söylemek istiyorum.

Bu kod doğru biçimde şimdiki zaman ile kayıt eklemek olacaktır.

$insert = "INSERT INTO sms (ref, texto, fecha)
VALUES ('".$_POST['usuario']."', '".$_POST['sms']."', '".date('Y-m-d H:i:s')."' )";
$add_member = mysql_query($insert);

If you don't want the current time you need to change date('Y-m-d H:i:s') into date('Y-m-d H:i:s', some_unix_timestamp)