duannai5879 2013-01-27 17:54
浏览 237
已采纳

列数与第1行插入表中的值计数不匹配

Ok. Ive been starting to make a forum from scratch and upon registering my browser comes up with this error: Column count doesn't match value count at row 1

$insert = mysql_query("
      INSERT INTO users (user_id, user_name, user_pass, user_email, user_date, user_level, user_posts) 
      VALUES( '', '" . mysql_real_escape_string($username) . "', '" . sha1($password) . "''" . mysql_real_escape_string($email) . "', NOW(), 0, 0)
");

Ive checked this thousands of times...and I cannot see the problem!

  • 写回答

2条回答 默认 最新

  • dongshungai4857 2013-01-27 17:57
    关注

    you forget comma between

    '" . sha1($password) . "''" . mysql_real_escape_string($email) . "'
                            ^ HERE
    

    to fix,

    '" . sha1($password) . "', '" . mysql_real_escape_string($email) . "'
    

    You are inserting six values into seven columns. The reason why there is no syntax error is because '' is actually valid. It's a way to escape single quote by doubling it.

    Your current query will look like this,

    INSERT INTO tableName (col1, col2) VALUES ('hello''world')
    

    which is actually valid but the number of values doesn't match the number of columns on the table.

    'hello''world' if successfully inserted on the table will become hello'world.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部