>백엔드 개발 >PHP 튜토리얼 >Laravel PDO 데이터베이스 업데이트에서 \'SQLSTATE[HY000]: 일반 오류\' 문제를 해결하는 방법은 무엇입니까?

Laravel PDO 데이터베이스 업데이트에서 \'SQLSTATE[HY000]: 일반 오류\' 문제를 해결하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-23 00:41:311015검색

How to Troubleshoot

데이터베이스 업데이트 시 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.