ホームページ >バックエンド開発 >PHPチュートリアル >Laravel PDO データベースの更新で「SQLSTATE[HY000]: 一般エラー」をトラブルシューティングするにはどうすればよいですか?
データベース更新時の PDO エラー:「SQLSTATE[HY000]: 一般エラー」の解決
この投稿では、 PHP データ オブジェクト (PDO) を使用してデータベースを更新するときに発生した問題を解決し、わかりにくい「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 中国語 Web サイトの他の関連記事を参照してください。