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