데이터베이스 업데이트 시 PDO 오류 해결: "SQLSTATE[HY000]: General Error"
이 게시물에서는 PDO(PHP 데이터 개체)를 사용하여 데이터베이스를 업데이트할 때 발생하는 문제를 해결하고 당황스러운 "SQLSTATE[HY000]: 일반 오류" 메시지를 해결합니다.
문제 설명
제공된 코드는 준비된 문을 사용하여 데이터베이스를 업데이트하려고 시도합니다. 그런데 업데이트 성공에도 불구하고 오류 메시지가 나옵니다.
$page = 'my_page'; $section = 'content'; $new_content = 'new_content'; $old_content = 'old_content'; try { $stmt = $pdo->prepare("UPDATE $page SET $section = :new_content WHERE $section = '$old_content'"); $stmt->execute(array( 'new_content' => $new_content )); $result = $stmt->fetchAll(); // <-- This line may cause the issue echo "Database updated!"; } catch(PDOException $e) { echo 'ERROR UPDATING CONTENT: ' . $e->getMessage(); }
오류 메시지
ERROR UPDATING CONTENT: SQLSTATE[HY000]: General error
해결 방법
문제는 코드의 fetchAll() 호출에 있습니다. fetchAll()은 일반적으로 성공적인 쿼리에서 데이터를 검색하는 데 사용됩니다. 그러나 업데이트 또는 삽입 쿼리의 경우 이 문은 필요하지 않습니다. 이를 제거하면 문제가 해결됩니다.
$result = $stmt->fetchAll(); // <-- Remove this line
fetchAll() 문이 제거되면 코드는 오류 메시지를 생성하지 않고 데이터베이스를 성공적으로 업데이트해야 합니다.
위 내용은 Laravel PDO 데이터베이스 업데이트에서 \'SQLSTATE[HY000]: 일반 오류\' 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!