2017-01-24 10 views
0

Hallo Ich habe meine Frage, wo, wenn die aktuelle Zeit ist größer als die Zeit in meiner Datenbank, die den Datentyp DateTime einige Felder aktualisiert wird, aber es funktioniert nicht können Sie meinen Code für meine Fehler überprüfen . Danke hier ist mein Code.PHP Vergleich dateTime funktioniert nicht

<?php 
include_once("connection.php"); 

date_default_timezone_set('Asia/Manila'); 
$timeNow = date('Y-m-d H:i:s'); 

echo $timeNow; 

$void1 = 'void'; 

$sql = " UPDATE tbl_accepted SET downPaymentValidity = '$void1' WHERE downPaymentTime < '$timenow'"; 


$result = mysqli_query($conn,$sql); 
if($result > 0){ 
echo "success"; 
exit(); 
}else{ 
echo "failed with error - " . mysqli_error($conn); 
exit(); 
} 
?> 

hier ist das Format in der downPaymentTime Variable 2017-01-24 16:22:23

+0

In Ihrem PHP erhalten Sie das Datum nach 'Asia/Manila' Zeitzone. Ich nehme an, Ihre Datenbank hat Datum in UTC-Zeitzone. Das ist möglicherweise der Grund, warum es nicht wie erwartet funktioniert. –

+0

@ObjectManipulator - aber wenn ich das '$ timenow' widerspreche, funktioniert die Echtzeit hier in ph gut. Wird die UTC-Zeitzone immer noch mit der 'downPaymentTime' verglichen? –

+0

Wie wird die aktuelle Zeit größer als die alte Zeit, die in db rt gespeichert ist? –

Antwort

0

In dieser Zeile '$void1' WHERE downPaymentTime < '$timenow'"; die Variable $timenow$timeNow

+0

immer noch nicht funktioniert sir. –

0

Aktualisieren Sie Ihre Anfrage an NOW() anstelle von PHP-Zeit sein sollte.

$ sql = "UPDATE tbl_accepted SET downPaymentValidity = '$ void1' WHERE downPaymentTime < NOW()";

+0

Uh, immer noch die selbe Sir .. –

+0

bist du sicher verbinden mit db? –