내 업데이트 성명서가 내 데이터베이스를 업데이트하는 것처럼 보이지만 왜 다른 스크립트에서 동일한 코드를 사용했는지 잘 모르겠습니다. 내가 수동으로 만 테스트하면 phpMyAdmin을 사용하여 데이터베이스에 쿼리를 입력 해봤PDO UPDATE가 데이터베이스를 업데이트하지 않습니다.
try
{
// update the live documents details
$sth = $conn->prepare("UPDATE docs SET ref = :ref, rev = :rev, updated = :updated WHERE id = :id");
$sth->bindParam(':ref', $ref);
$sth->bindParam(':rev', $rev);
$sth->bindParam(':updated', $date);
$sth->bindParam(':id', $currentid);
$sth->execute();
}
catch(Exception $e)
{
throw new Your_Exception($e->getMessage());
// or
throw $e;
}
내가 올바른 내 테이블 이름이 예상대로 쿼리 작업을 수행합니다.
UPDATE docs SET ref = 'FMS',
rev = 'D',
updated = NOW() WHERE id =73
이렇게하면 내 PDO 명세서에 오류가 있다고 생각합니다. try catch 블록이 오류를주지는 않지만.
에이 던져 오류를 볼 수 있도록 당신은 당신의 PHP 코드에서 쿼리를 인쇄 봤어? – ajtrichards
"updated"에 문자열 "NOW()"를 바인딩하는 경우 PHP Datetime 형식을 사용하는 대신에 문제가있을 수 있습니다. –
@RoyalBg date_default_timezone_set ('UTC')와 같은 날짜를 전달합니다. $ date = date ("Y-m-d"); $ date 변수를 사용하여 PDO 문 – twigg