나는 두 날짜 사이의 모든 날짜를 선택하려고합니다. 내 date_ini 및 date_final 변수는 날짜 형식 (00-00-00 0시 0분 0초) 그것은 간단한 반환 널 (null)날짜 사이에 쿼리 선택 유닉스 타임 스탬프 및 날짜 형식
$msgs = mysql_query("SELECT date_time, from_user_name, message
FROM message_log
WHERE date_time BETWEEN '$log_ini' AND '$log_fim'
AND (from_user_name = '$usuario' OR from_user_name = '$atendente')")or die(mysql_error());
에있는 동안 데이터베이스에서 나는 유닉스 타임 스탬프 형식으로 기록을 가지고있다. select와 일치하는 레코드가있을 것입니다. date_default_timezone_set도 확인하고 서버와 동일한 시간대로 설정했습니다. 나는 이것이 바보 같은 것이라는 것을 알고있다. 그러나 나는 정말로 좌절하고있다! 그것은 내가 FROM_UNIXTIME 함수, coman, coman, <> 연산자를 사용하여, 변수에 strotime을 시도하고 아무 것도 작동하지 않는 시간이었습니다 ... 누군가가 실수를 지적 할 수 있습니까? 고마워요!
편집 :
나는이 문제를 가지고, 정말 사실 위해 UnixTimeStamp되지 않습니다 DATE_TIME의 fiels는하지만 유닉스 시간 + 3 자리. 미안하지만, 내 실수 였고 대답은 좋았어. 나는이 양식에서이 사자를 다루는 법을 지금 발견하는 또 다른 질문을 열어두고있다. 고마워요!
'$ log_ini '와'$ log_fim'에 어떤 값이 들어 있는지 쿼리를 출력 해 보았습니까? –
mysql 터미널에서 쿼리를 실행 해보십시오. 그런 다음 "경고 표시"를 실행하십시오 – thetaiko
쿼리에 주입하는 변수의 출처는 어디입니까? 사용자가 입력했는데 유효성이 확인되거나 이스케이프 처리되지 않은 경우 SQL 주입 공격을받을 위험이 있습니다. 준비된 구문 (mysqli 또는 PDO로 전환하는 것을 의미) – GordonM