列数与第1行php mysql的值计数不匹配

dws*_*ein 4 php mysql sql insert

单击"AD RECORD"按钮时出现以下错误:

INSERT失败:INSERT INTO user_master VALUES('cha','rstein','bar','foo')列数与第1行的值计数不匹配

来自以下代码:

    if (isset($_POST['delete']) && isset($_POST['first']))
{
    $first = get_post('first');
    $query = "DELETE FROM user_master WHERE first='$first'";
    if(!mysql_query($query, $db_server))
        echo "DELETE failed: $query<br />" . 
        mysql_error() . "<br /><br />";
}

if (isset($_POST['first']) && isset($_POST['last']) && isset($_POST['user_name']) && isset($_POST['email']))
{
    $first      = get_post('first');
    $last       = get_post('last');
    $email      = get_post('email');
    $user_name  = get_post('user_name');

    $query = "INSERT INTO user_master VALUES" . "('$first' , '$last' , '$user_name' , '$email')";

    if(!mysql_query($query, $db_server)) echo "INSERT failed: $query <br />" . mysql_error() . "<br /><br />";
}

echo <<<END
<form action = "willingLog.html" method="post"><pre>
    First       <input type="text" name="first" />
    Last        <input type="text" name="last" />
    Email       <input type="text" name="email" />
    Username    <input type="text" name="user_name" />
            <input type="submit" value="AD RECORD" />
</pre></form>
    END;
Run Code Online (Sandbox Code Playgroud)

Joh*_*nde 12

您的数据库表有更多列,然后您插入,因此您收到错误.(您可能没有代表可能是您主键的userID字段).您需要指定查询中数据的字段:

 $query = "INSERT INTO user_master (first_name, last_name, user_name, email) VALUES" . "('$first' , '$last' , '$user_name' , '$email')";
Run Code Online (Sandbox Code Playgroud)