2013-06-14 4 views
0

즉,이 쿼리는 postgresql에 있습니다.쿼리는 postgresql에서 작동하지만 PHP에서는 작동하지 않습니다

SELECT * FROM logs WHERE user_id = 8328 AND punchin::date = '2013-06-11'; 

성공적으로 반환됩니다.

하지만 PHP에서 그것을 implent 때

$sql = "SELECT * FROM logs WHERE user_id = $user_id AND punchin::date = $date"; 
$record = pg_query($sql); 
$row = pg_fetch_array($record); 

var_dump($row) //false 

은 무슨 일이 있었는지? 어떻게 데이터를 얻을 수 없습니까?

+0

$sql = "SELECT * FROM logs WHERE user_id = '$user_id' AND DATE(punchin) = '$date'"; 

에 사용자가 다음과 같은 PHP의 모든? 먼저 데이터베이스에 연결합니까? $ user_id 값은 얼마입니까? – immulatin

+0

예. 데이터베이스 연결을 시도했습니다. 변수의 값은 그 위에 주어진 데이터와 동일합니다. $ user_id = 8328 and $ date = '2013-06-11' – user2429302

답변

1

보십시오 변화

$sql = "SELECT * FROM logs WHERE user_id = $user_id AND punchin::date = $date"; 

더 나은 아직 사용 매개 변수

$sql = "SELECT * FROM logs WHERE user_id = $1 AND CAST(punchin AS DATE) = $2"; 
$result = pg_query_params($sql, array($user_id, $date)); 
+0

@ user2429302 도움이 되셨습니까? 질문에 대한 도움이 더 필요하십니까? – peterm

관련 문제