#1136-列数与值数不匹配? [英] #1136 - Column count doesn't match value count?

查看:48
本文介绍了#1136-列数与值数不匹配?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 require_once('appvars.php');
require_once('connectvars.php');

 // Connect to the database
 $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
or die('Error connecting to MySQL server.'); 

 if (isset($_POST['submit'])) { //check for submit
// Grab the profile data from the POST
$username = mysqli_real_escape_string($dbc, trim($_POST['username']));

$password1 = mysqli_real_escape_string($dbc, trim($_POST['pass1']));
$password2 = mysqli_real_escape_string($dbc, trim($_POST['pass2'])); // validate user input 
if (!empty($username) && !empty($password1) && !empty($password2) && ($password1 == $password2)) {
  // Make sure someone isn't already registered using this username
  $query = "SELECT * FROM users WHERE username = '$username'";
  $data = mysqli_query($dbc, $query)
  or die('Error querying database.');
  if (mysqli_num_rows($data) == 0) { // new function num_row gives you the number of rows retrieved from the query. 
    // The username is unique, so insert the data into the database
 (   --> problem line ) $query = "INSERT INTO users (username,pass) VALUES ('$username', SHA1('$pass1'), NOW())"; // SHA1 is encrytion being implied to password. 
    mysqli_query($dbc, $query);

    // Confirm success with the user
    echo '<p>Your new account has been successfully created. You\'re now ready to <a href="login.php">log in</a>.</p>';

    mysqli_close($dbc);
    exit();// is a function to get out of the program. 
  }
  else {
    // An account already exists for this username, so display an error message
    echo '<p class="error">An account already exists for this username. Please use a different address.</p>';
    $username = "";
  }
} //end of validation, user passed the validation. 
else {
  echo '<p class="error">You must enter all of the sign-up data, including the desired password twice.</p>';
}
} // end of submit

 mysqli_close($dbc);

我知道这个问题很多,但我找不到答案.我收到SQL错误 数字1136-列数与查询中的值数不匹配: 插入用户(用户名,密码)值('$ username',SHA1('$ pass1'),NOW())

I know this has been asked alot but I can't find an answer. I am getting the SQL error number 1136 - Column count doesn't match value count on my query: INSERT INTO users (username,pass) VALUES ('$username', SHA1('$pass1'), NOW())

数字1136-列数与值计数不匹配,如您所见,似乎所有值都已列出.有人可以帮我吗

number 1136 - Column count doesn't match value count as you can see it seems all values are listed. Can someone please help me

谢谢

推荐答案

您正试图在两列中传递三个值,这就是为什么它会给您带来错误.按这种方式更改插入查询.

you are trying to pass three value in two column,that's why it is giving you error.change your insert query like this.

$sql=INSERT INTO users (username,pass,date) VALUES ('$username', SHA1('$pass1'), NOW());

这篇关于#1136-列数与值数不匹配?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆