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

Barbara Streisand
リリース: 2024-10-26 18:57:30
オリジナル
982 人が閲覧しました

Why Am I Getting

PHP、MySQL エラー: 列数が行 1 の値数と一致しません解決されました

「列数が一致しません」というエラーが発生した場合t match value count at row 1」というメッセージは、データベース テーブルの列数と INSERT ステートメントで指定された値の数の間に不一致があることを示します。

提供されたコード スニペット内:

<code class="php">// ...

$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)
);

// ...</code>
ログイン後にコピー

INSERT ステートメントで 9 つの列を指定しましたが、指定された値は 8 つだけです。具体的には、「メソッド」列の値が欠落しています。

この問題を解決するには、メソッドの値を INSERT ステートメントに追加する必要があります:

<code class="php">// ...

$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)
);

// ...</code>
ログイン後にコピー

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

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