MySQL INSERT の列数の不一致
「列数が行 1 の値数と一致しません」というエラーは、データベース テーブル内の列の数と、INSERT ステートメントで指定された値の数。
指定されたコードでは、INSERT ステートメントを使用して、「dbname」という名前のテーブルに値を挿入しようとします。このクエリには 9 つの列 (「id」、「Name」、「Description」、「shortDescription」、「Ingredients」、「Method」、「Length」、「dateAdded」、「Username」) がリストされていますが、提供される値は 8 つだけです。 VALUES 句内。具体的には、「メソッド」値が欠落しています。
この列数と値数の不一致により、エラーが発生します。これを解決するには、クエリに正しい数の列と値が含まれていることを確認してください。この場合、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), // Method value added mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));</code>
正しい数値を指定することにより、 INSERT ステートメントの列の値を正しく設定すると、エラーを回避でき、データをデータベースに正常に挿入できます。
以上がMySQL INSERT ステートメントで「列数の不一致」エラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。