오류가 발견되지 않았기 때문에 PDO를 사용하여 문제가 발생했습니다.문제 해결 PDO : 준비된 문 실행시 오류가 발생하지 않았습니다.
코드는 간단하고 잘 작동, 방금 혼동을 피하기 위해 샘플을 포함합니다 :
$sql = 'INSERT INTO somedatetable (something)
VALUES (:something)
ON DUPLICATE KEY UPDATE something=:something';
$values = array(":something" => $something);
try {
$stmt = $dbh->prepare($sql);
$stmt->execute($values);
} catch (PDOException $e) {
echo "Error: " . $e->getMessage() . "<br />\n";
}
코드는 새 모듈에서 작업 할 때, 그러나, 나는이 문제에 부딪쳤다를 잘 작동하는 레코드가 추가되거나 수정되지 않았으며 오류가 발견되지 않았습니다.
$stmt
false
이 반환되었지만 이유를 찾지 못했거나 오류를 찾는 방법이 없습니다.
해결책은 간단 했으므로 테이블에 대한 쓰기 권한이없는 제한된 MySQL 사용자를 사용하고있었습니다. 이 오류는 mysql을 사용할 때마다 즉시 표시되지만, PDO를 사용하면 오류를 알 수 없습니다.
PHP/PDO를 표시하거나 이러한 종류의 데이터베이스 오류를 잡으려면 어떻게합니까?
덕분에, 내가 알 필요가 정확히 무엇을 알려줍니다 그. 한 가지 더 질문하지만 오류가 잡히지 않는 이유는 무엇입니까? – jeroen
당신은 그것이 거짓으로 돌아 왔다고 말했어, 그것이 붙잡 혔음을 의미한다 ;-) –
Ummmmmmmm, 메시지를 표시하지 않으면 catch 문이 생기는 지점은 무엇입니까? 나는이 모든 점을 (성공) else 조합을 제거하는 것이라고 생각했다 ... – jeroen