Laravel PDO データベースの更新で「SQLSTATE[HY000]: 一般エラー」をトラブルシューティングするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-23 00:41:31
オリジナル
922 人が閲覧しました

How to Troubleshoot

データベース更新時の 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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!