Mysql - NOW () fonksiyonu çağıran

2 Cevap php

Ben mysql sorguları yapmak için php kullanıyorum. İşte biri:

UPDATE `subscribers` SET `curDate` = NOW() WHERE `e_mail` = "$resEmail"

CURDATE - DateTime türü. Sorun Verilen e-posta bu sorgu CURDATE sonra olduğunu

0000-00-00 00:00:00

Ne oldu?

2 Cevap

Sizin PHP muhtemelen artık bu gibi görünüyor:

$sql = 'UPDATE `subscribers` SET `curDate` = NOW() WHERE `e_mail` = "$resEmail"';

Tek tırnak dize halinde ikame edilmektedir gelen değişkenin değerini engeller. Bu onu değiştirmek gerekir:

$sql = "UPDATE `subscribers` SET `curDate` = NOW() WHERE `e_mail` = '$resEmail'";

Burada ayrıca, bir SQL enjeksiyon açığı olabilir farkında olmalıdır. E-posta adresini kaçmak için mysql_real_escape_string kullanmayı düşünün.

$sql = "UPDATE `subscribers` SET `curDate` = NOW() WHERE `e_mail` = '" .
       mysql_real_escape_string($resEmail) . "'";

Eğer doğru zaman damgası dayanmaktadır timedate işlevini kullanarak konum beri, Timestamp(Now()) ile ayarlamayı deneyin.