그래서 내 PHP 스크립트 (mysql 데이터베이스에서 시간과 현재 시간())를 비교하지만 작동하지 않습니다. 어떻게해야합니까? PHPmysql 저장된 시간과 현재 시간을 비교하는 방법이 있나요
if($row['Datum'] < date(Y-m-d-H-i-s)) { Code to execute}
MySQL의 DATETIME은
2012-11-13 17:00:00
그래서 내 PHP 스크립트 (mysql 데이터베이스에서 시간과 현재 시간())를 비교하지만 작동하지 않습니다. 어떻게해야합니까? PHPmysql 저장된 시간과 현재 시간을 비교하는 방법이 있나요
if($row['Datum'] < date(Y-m-d-H-i-s)) { Code to execute}
MySQL의 DATETIME은
2012-11-13 17:00:00
현재 코드는 구문 오류가 있지만 일하는 것이 뭔가를 아주 가까이 :
$now = date('Y-m-d H:i:s');
// loop here
foreach ($rows as $row) {
if ($row['Datum'] < $now) {
// code to execute
}
}
: 당신이
date()
의 출력을 캐시해야하므로
if ($row['Datum'] < date('Y-m-d H:i:s')) {
// Code to execute
}
이, 루프 내부 될 가능성이 높습니다
또한 쿼리에서 직접 비교를 할 수있는 :
$now = date('Y-m-d H:i:s');
$db->query("SELECT * FROM whatever WHERE Datum < '$now'");
MySQL의 날짜 형식은 먼저
$date = new DateTime();
$date = $date->format('Y-m-d H:i:s');
if ($row['Datum'] < $date) { Code to execute }
당신이 당신의 PHP 호출에 잘못된 날짜의 형식을 가지고있다, MySQL의 날짜가에 형식은 "Y-m-d H:i:s"
입니다. 둘째로, 당신은 이것을 할 필요가 없습니다. 대신 다음을 사용할 수 있습니다 :
if(strtotime($row['Datum']) < time()) { // Code to execute }
이렇게하면 mysql 날짜가 타임 스탬프로 변환되고 현재 타임 스탬프와 비교됩니다.
SQL 쿼리에 추가 할 수 있습니까? "YYYY-MM-DD HH : II : SS"당신의 날짜는 ISO 8601 형식과 일치하는 경우
SELECT * FROM tablename WHERE Datum < now();
서버가 다른 시간대에있는 경우 문제가 발생합니다. – Chris
, 당신은 유닉스 타임 스탬프로 문자열을 변환 할 한 strtotime 기능을 사용할 수 있습니다.
잠하세요 ide 당신이 사용하고있는 실제 코드. –
대신 SQL 쿼리에서 비교할 수 있습니까? 그것은 더 빠를 것이다. –