ホームページ >バックエンド開発 >PHPチュートリアル >PHP MySQL INSERT ステートメントで「列数が行 1 の値数と一致しません」というエラーが発生するのはなぜですか?
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 サイトの他の関連記事を参照してください。