2013-12-17 4 views
2

PDO (YACassandraPDO도 설치됨)를 통해 cassandra 데이터베이스에서 timestamp을 선택하면 다음과 같은 결과가 나타납니다. 이상한 문자열로 타임 스탬프가 반환되었습니다.

Bý£1€ 

이 값은 추측 같이 December 17th 2013 00:00:00

수해야 var_dump

에서 string(8) 식별, I는

Array([1] => 1107361792) 

결과 $arr = unpack("l", $raw['date']); 그러나 에포크에서 변환이 시도 같음 : 2005-2-02

누구든지 내가해야 할 일을 말해 줄 수 있습니까?

그런데

UPDATE는, 타임 스탬프는 CQL의 커맨드 및 DevCenter에서 잘 나타납니다. 다음은 UPDATE 2

내가 행을 선택하기 위해 사용하는 방법이다;

function getAny($limit=100) 
{ 
    $stmt = $this->pdo->prepare("SELECT * FROM \"".$this->tableName."\" LIMIT $limit;"); 
    if($stmt->execute() === false) 
    { 
     $this->logError($stmt, "getAny"); 
     return false; 
    } 
    return $stmt->fetchAll(PDO::FETCH_ASSOC); 
} 

답변

0

정말 답이 아니지만 좋은 해결책이 될 것 같습니다. 간단하게 컬럼 타입을 의 에포크 시간을 저장하기 위해 bigint으로 변경했습니다. 아무도 무슨 일이 일어나고 있는지 알아 내지 않으면 나는 알고 싶어!

0

데이터베이스에 삽입 할 때 타임 스탬프가 올바른지 확인하십시오. 당신이 가져야 할 시간대 문자열은 1387238400입니다.

+0

아마도 나는 cassandra CQL 명령 줄에서 선택했을 때 타임 스탬프가 잘 나타나 있다고 말했을 것입니다. PHP의 끝 부분에 뭔가가 있습니다. – natli

관련 문제