ホームページ > データベース > mysql チュートリアル > MySQL INSERT ステートメントで「列数が行 1 の値数と一致しません」というエラーが発生するのはなぜですか?

MySQL INSERT ステートメントで「列数が行 1 の値数と一致しません」というエラーが発生するのはなぜですか?

DDD
リリース: 2024-12-01 00:19:11
オリジナル
864 人が閲覧しました

Why am I getting a

PHP、MySQL エラー: 列数の不一致

「列数が行 1 の値数と一致しません」というエラーは不一致を示しますSQL INSERT ステートメントで指定された列の数と指定された値の数の間。

Inこの特定のケースでは、次のコードがあります:

$query = sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
    mysql_real_escape_string($name),
    mysql_real_escape_string($description),
    mysql_real_escape_string($shortDescription),
    mysql_real_escape_string($ingredients),
    //mysql_real_escape_string($image),
    mysql_real_escape_string($length),
    mysql_real_escape_string($dateAdded),
    mysql_real_escape_string($username));
ログイン後にコピー

SQL ステートメントには、id、名前、説明、shortDescription、成分、メソッド、長さ、日付追加、およびユーザー名の 9 つの列が含まれています。ただし、指定しているのは $name、$description、$shortDescription、$ingredients、$length、$dateAdded、$username、$method の 8 つの値のみです。

エラーを解決するには、 Method 列の値が欠落しています。入力からメソッド データをキャプチャしていることを確認してください。これを実行すると、クエリは次のようになります:

$query = sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
    mysql_real_escape_string($name),
    mysql_real_escape_string($description),
    mysql_real_escape_string($shortDescription),
    mysql_real_escape_string($ingredients),
    mysql_real_escape_string($method),
    mysql_real_escape_string($length),
    mysql_real_escape_string($dateAdded),
    mysql_real_escape_string($username));
ログイン後にコピー

以上がMySQL INSERT ステートメントで「列数が行 1 の値数と一致しません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート