错误:列计数与第 1 行 - 输出处的值计数不匹配


Error: Column count doesn't match value count at row 1 - output

我收到此错误:"列计数与第 1 行的值计数不匹配"

<?php
 mysql_connect("$host", "$username", "$password") or die(mysql_error());
echo"Connected";
 mysql_select_db("$database") or die(mysql_error());
echo"Database Found";
 mysql_query("INSERT INTO $table(id, author, title, savetext) VALUES ('1','id1')") or     die(mysql_error());
 mysql_query("INSERT INTO $table(id, author, title, savetext) VALUES ('2','author1')") or die(mysql_error());
 mysql_query("INSERT INTO $table(id, author, title, savetext) VALUES ('3','title1')") or die(mysql_error());
 mysql_query("INSERT INTO $table(id, author, title, savetext) VALUES ('4','savetext1')") or die(mysql_error());
echo"Data Inserted";
 mysql_close();
 ?>

!https://i.stack.imgur.com/crDIX.png

我认为

您正在尝试使用单独的语句将值插入到每列中?不,就用一句话做完。

mysql_query("INSERT into $table (id, author, title, savetext) VALUES ('id1', 'author1', 'title1', 'savetext1')");

现在,在 StackOverflow 上爆发之前,先阅读 Mysqli,因为 mysql 命令已被弃用并且容易受到 sql 注入和其他不好的事情的影响。

不言自明。您将 2 个值插入到 3 列中。

如果 id 是自动递增列,您甚至不需要插入其中。MySQL会为你做到这一点。

如果不想将数据插入到特定列中,则可以不将它们包含在字段列表中,也可以在其中插入 NULL:

INSERT INTO $table(id, author) VALUES ('1','id1')

  1. 您必须为所有提到的列提供值。

    mysql_query("插入$table( idauthortitlesavetext

    VALUES ('1','id1', '', '')")
    

  2. 跳过没有要插入的值的列[名称]。

    mysql_query("INSERT INTO $table( ID ,作者) VALUES ('1','id1')")