このエラーは、データベース テーブルがテーブル内の列数と一致しません。
指定したコードでは、9 つの列を持つテーブルに 8 つの値を挿入しようとしています:
<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>
解決するにはエラーが発生した場合は、「メソッド」列の欠落している値を追加する必要があります。変更されたコードは次のとおりです。
<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), // Added the Method value mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));</code>
この変更を加えた後は、「列数が行 1 の値数と一致しません」エラーは発生しなくなります。
以上がPHP MySQL で「列数が行 1 の値数と一致しません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。