반응형
날짜에 대한 PDO :: PARAM?
일부합니까 PDO::PARAM_???
날짜, 타임 스탬프에 사용할 수있는 존재를?
샘플 코드 :
$sql = "UPDATE my_table SET current_date = :date WHERE id = 43";
$statement = $pdo->prepare ($sql);
$statement->bindParam (":date", strtotime (date ("Y-m-d H:i:s")), PDO::PARAM_STR);
$statement->execute ();
SQL 쿼리에 날짜를 쓸 때 문자열로 작성합니다. 준비된 문장에 대해서도 똑같이해야하며 PDO::PARAM_STR
제안한 코드 부분에서했던 것처럼를 사용해야 합니다.
"타임 스탬프"의 경우 "타임 스탬프"가 의미하는 경우 :
- MySQL 타임 스탬프 데이터 유형 : 동일합니다.
string
- 정수인 PHP Unix 타임 스탬프 :
int
.
php date 함수를 사용하여 날짜를 생성하기 만하면이 문제가 해결됩니다.
$handle->execute(array(":date"=>date("Y-m-d H:i:s", strtotime($date)), PDO::PARAM_STR));
편집 : 그러나
strtotime
( http://php.net/manual/en/function.strtotime.php ) 모든 종류의 날짜 형식을 처리 할 수는 없습니다.
아니. 날짜를 문자열로 취급하십시오.
날짜를 문자열로 처리해야하지만 매개 변수로 전달하기 전에 유효한 날짜인지 확인하는 함수를 만들 수 있습니다. 이렇게 :
function checkValidDate($date, $format = "dd-mm-yyyy"){
if($format === "dd-mm-yyyy"){
$day = (int) substr($date,0,2);
$month = (int) substr($date, 3,2);
$year = (int) substr($date, 6,4);
}else if($format === "yyyy-mm-dd"){
$day = (int) substr($date,8,2);
$month = (int) substr($date, 5,2);
$year = (int) substr($date, 0,4);
}
return checkdate($month, $day, $year);
}
이것은 나를 위해 일했습니다.
//MS SQL
$sql = "UPDATE my_table SET current_date = GETDATE() WHERE id = 43";
$statement = $pdo->prepare ($sql);
//$statement->bindParam (":date", strtotime (date ("Y-m-d H:i:s")), PDO::PARAM_STR);
$statement->execute ();
참고 URL : https://stackoverflow.com/questions/2374631/pdoparam-for-dates
반응형
'developer tip' 카테고리의 다른 글
WSDL이 웹 서비스의 SOAP 버전 (1.1 또는 1.2)을 나타낼 수 있습니까? (0) | 2020.11.05 |
---|---|
응용 프로그램을 설계 할 때 Func <> 및 Action <>을 어떻게 사용합니까? (0) | 2020.11.05 |
두 개의 CPU가있는 VirtualBox로 Vagrant에서 VM을 어떻게 만들 수 있습니까? (0) | 2020.11.05 |
Google 애드워즈 전환 onclick을 추적하는 방법은 무엇입니까? (0) | 2020.11.04 |
HTTP 헤더가 IIS7.5로 전송 된 후 서버가 상태를 설정할 수 없습니다. (0) | 2020.11.04 |