首页  >  文章  >  后端开发  >  为什么我的 MySQL INSERT 语句会抛出“列计数不匹配”错误?

为什么我的 MySQL INSERT 语句会抛出“列计数不匹配”错误?

Patricia Arquette
Patricia Arquette原创
2024-10-31 23:25:28749浏览

Why Does My MySQL INSERT Statement Throw a

MySQL INSERT 中的列计数不匹配

错误“列计数与第 1 行的值计数不匹配”表示数据库表中的列数以及 INSERT 语句中提供的值的数量。

在提供的代码中,尝试使用 INSERT 语句将值插入到名为“dbname”的表中。该查询列出了 9 列(“id”、“Name”、“Description”、“shortDescription”、“Ingredients”、“Method”、“Length”、“dateAdded”和“Username”),但只提供了 8 个值在 VALUES 子句中。具体来说,“方法”值丢失。

列计数和值计数之间的不匹配会导致错误。要解决此问题,请确保查询包含正确的列数和值。在这种情况下,请在执行 INSERT 语句之前添加“Method”列的值。

以下是添加了缺失值的修改后的代码:

<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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn