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 サイトの他の関連記事を参照してください。