2011-03-30 2 views
0

이 코드를 대신 UNIX TIMESTAMP 시간 변수를 사용합니다 : 오프닝 배 쿼리를 실행하는 데 사용되는방법 (CURRENT_TIMESTAMP()) 순간

$rawsql = "SELECT 
* 
FROM 
    numbers n 
INNER JOIN 
    openings o ON n.id = o.branch_id AND o.dotw = DAYOFWEEK(CURRENT_DATE()) 
INNER JOIN 
    openings_times t ON o.id = t.opening_id 
WHERE 
(
    UNIX_TIMESTAMP(CURRENT_TIMESTAMP()) 
    BETWEEN UNIX_TIMESTAMP(CONCAT(CURRENT_DATE(), ' ', t.open)) AND UNIX_TIMESTAMP(CONCAT(CURRENT_DATE(), ' ', t.close)) 
) 
AND 
(
    n.id = %d 
);"; 

. 나는 기본적으로 사용자가 데이터베이스에 핑 (ping) 한 최신 시간을 포함하는 변수 $ latest_ping을 가지고있다. 우리가

내가 시도 일

UNIX_TIMESTAMP ($ latest_ping)와 시간 (같은 등 서로 다른 시간대를 사용하기를 원하기 때문에

가능하다면, 나는 변수를 latest_ping이 $로 CURRENT_TIMESTAMP를 교체하고 싶습니다 $ latest_ping)하지만 작동하지 않았습니다.

도움을 주시면 감사하겠습니다.

+0

준비된 명령문을 사용하고 매개 변수를 전달해야합니다. 일반적으로 이것은 SQL 문을 연결하는 것보다 낫습니다. –

+0

"시간 포함"을 정의합니다. 이 "시간"으로 무엇을 의미하는지 아무도 모릅니다. –

답변

0

UNIX_TIMESTAMP(date_format("$latest_ping", '%Y-%c-%d %k:%i:%s')) 

편집에 사용 해보세요 : 실제로도 필요하지 않습니다. 날짜가 mysql에서 사용되는대로 형식화되어 있는지 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. 나는 그것을 시도했다. 그러나 그것은 일하지 않았다. .. 나는 그것을 생각했다 (나는 생각한다). $ timestamp = strtotime ($ latest_ping);을 사용했습니다. 그리고 나서 UNIX_TIMESTAMP 코드를 '$ timestamp'로 대체하면 필요한만큼 작동하는 것 같습니다. 이 방법이 이상적이지만 작동하는 한 확실하지 않습니다! –

+0

PHP 날짜 형식 함수를 사용하여 올바르게 형식을 지정하십시오. http://in2.php.net/manual/en/function.date-format.php – Shameer

관련 문제