我正在嘗試檢查時間是否更新,然後從SQL行更新DATETIME。這是我現在的代碼:在php中檢查當前時間已通過SQL時間
<?php
require('common.php');
$query = "SELECT
event_name, UNIX_TIMESTAMP(event_date) AS event_time, initiator, min_level, max_level
FROM
DD_events
WHERE
event_date <= NOW()
";
try{
$stmt = $db->prepare($query);
$result = $stmt->execute();
}
catch(PDOException $ex){
die("Failed to run query: " . $ex->getMessage());
}
$chk = $stmt->fetchall();
//Loop through each row
foreach ($chk as $chks) {
print_r($chks['event_time']); echo "<br>";
// If it is, create query to make the next event
$query = "INSERT INTO
DD_events (event_name, event_date, initiator, min_level, max_level)
VALUES
(:name, :event_date, 0, :min_lvl, :max_lvl)
";
$query_params = array(
':name' => $chks['event_name'],
':event_date' => $chks['event_time'],
':min_lvl' => $chks['min_level'],
':max_lvl' => $chks['max_level']
);
try
{
// These two statements run the query against your database table.
$stmt = $db->prepare($query);
$stmt->execute($query_params);
}
catch(PDOException $ex)
{
// Note: On a production website, you should not output $ex->getMessage().
// It may provide an attacker with helpful information about your code.
die("Failed to run query: " . $ex->getMessage());
}
}
即使我知道應該會出現結果,結果總是變成空的。
我的目標是檢查一個事件是否已經過去。如果它執行了代碼。
我知道PHP時間與SQL時間不同,這就是爲什麼我嘗試使用UNIX_TIMESTAMP()函數嘗試將其與PHP時間進行比較的原因。
我會嘗試。這肯定會讓事情變得更容易。 – Matt
它的工作原理。但現在輸入的時間是0000-00-00 00:00:00,而不是抓取的日期。 – Matt
@Matt什麼時候進入哪裏?如果需要,您仍然可以使用MikeB的答案作爲結果集中的列選擇時間戳。 – jeroen