2011-02-05 2 views
2

저는 PHP와 MySQL에 익숙하지 않기 때문에 이것은 아주 기본적인 질문 일 것입니다.mysql datetime 필드를 PHP에서 datetime으로 가져 오는 방법은 무엇입니까?

나는 mysql 데이터베이스를 쿼리하고 배열에 세 개의 필드를 가져왔다. 필드 유형 중 하나가 datetime이지만 현재 쿼리로는 문자열로 캡처됩니다.

이 내 코드입니다 :

$myquery = mysql_query ("SELECT id,text,when FROM messages ORDER BY cuando DESC"); 
$nrows = mysql_num_rows ($myquery); 
for ($i = 0; $i < $nrows; $i++) { 
$row = mysql_fetch_assoc ($myquery); 
$when = $row["when"]; 

나는 인터넷 검색을 봤는데 내가 내 쿼리에서 AS 연산자를 사용한다고 생각,하지만 난 방법을 알고 '니까. 어떻게해야합니까? 가능한 경우 쿼리를 변경하여 ...

고마워! PHP에서

+0

원하는 출력은 무엇입니까? – Sarfraz

답변

3
  1. : $when = strtotime($row["when"]);
  2. MySQL은 : SELECT id, text, UNIX_TIMESTAMP(when) AS when FROM...
+0

그 중 아무도 작동하지 ... 어떤 생각? –

+0

MySql 솔루션이 작동했습니다. 처음에는 왜 그랬는지 모르겠습니다. 감사! –

0

당신이 유닉스 타임 스탬프를 원한다면, 당신도 당신의 쿼리 또는 PHP에서 그것을 할 수 있습니다. 귀하의 요청에

:

$myquery = mysql_query ("SELECT id,text,UNIX_TIMESTAMP(when) FROM messages ORDER BY when DESC"); 

PHP에서 :

$when = strtotime($row['when']); 

편집 : WHEN 예약 된 MySQL의 키워드되고,이 쿼리 오류를 줄 것이다. 귀하의 날짜 필드에 다른 것을 사용하십시오.

+0

고맙습니다. 그러나 그것은 작동하지 않습니다. $는 지금 NULL입니다. thew 방법으로, 나는 WAMP 환경에서 doig 오전, 어쩌면 UNIX_TIMESTAMP 나던 거기서 일해? –

+0

'when'필드는 날짜, 날짜 시간 또는 타임 스탬프 유형 열이어야합니다 ... 확인 했습니까? http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp 그렇지 않은 경우 어떤 유형의 when 열입니까? – jfoucher

+0

날짜/시간입니다. 그러나 어떤 이유로 그것은 작동하지 않습니다. –

관련 문제