Php SQL zaman damgası Unix zaman damgası almak için kolay bir yolu var mı?

2 Cevap php

Benim veritabanı tablo SQL damgalarını içeren bir sütun (örn. 2009-05-30 19:43:41) sahiptir. Benim php programda Unix zaman damgası eşdeğer (bir tamsayı) gerekir.

$posts = mysql_query("SELECT * FROM Posts ORDER BY Created DESC");
$array = mysql_fetch_array($posts);
echo $array[Created];

Şimdi SQL damgası yankıları nerede, ben bir Unix zaman damgası istiyorum. Bunu yapmanın kolay bir yolu var mı?

2 Cevap

strtotime() mutlu bir SQL zaman damgası alabilir ve UNIX zaman dönüştürmek olacaktır:

echo strtotime($array['Created']);

Bu dizi anahtarları tırnak kullanmak için kötü bir uygulama olduğunu unutmayın. According to the docs:

Her zaman bir dize sayıllı indis tırnak kullanabilirsiniz. $ Foo [bar] değildir Örneğin, foo ['bar'] $, doğrudur.

Bu yanlıştır, ama çalışıyor. Nedeni, bu kod tanımlanmamış bir sabit (bar) yerine bir dize (- tırnak fark 'bar') sahip olmasıdır. PHP gelecekte ne yazık ki böyle bir kod için, aynı ada sahip, sabit tanımlayabilir. PHP otomatik çıplak dize içeren bir dize içine bir çıplak dize (bilinen herhangi bir sembole karşılık gelmez bir tırnaksız dize) dönüştürür çünkü çalışır. Tanımlanmış bir sabit adında bir bar var Örneğin, daha sonra PHP 'bar' dizgesini yerleştirecek ve bunu kullanacaktır.

Düzenli bir datetime alanı göz önüne alındığında, MySQL fonksiyonu UNIX_TIMESTAMP () ile sorgu yapabilirsiniz:

$posts = mysql_query("SELECT *
                             , UNIX_TIMESTAMP(Created)
                      FROM     Posts
                      ORDER BY Created DESC");

Ayrıca PHP işlevi mysql_fetch_array, bir sorgu sonucu için hem sayısal birleşmeli anahtarlarını verdiğini bilmeli. Ben bu gereksiz buluyorum, bu yüzden daha fazla spesifik ve kullanım olmak ister:

$array = mysql_fetch_array($posts, MYSQL_ASSOC);

Ayrıca, ve Paolo Bergantino @ gibi yankı iyi bir karar olacağını alıntı belirtti:

echo $array['Created'];

Son bir yorum, sen "SELECT *" kullanıyorsanız - it is worth reading discussion on the pros and cons of "SELECT *" syntax.