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())
数字1136-列数与值计数不匹配,如您所见,似乎所有值都已列出。有人可以帮帮我吗
谢谢
最佳答案
您试图在两列中传递三个值,这就是为什么它会给您带来错误。按这种方式更改插入查询。
$sql=INSERT INTO users (username,pass,date) VALUES ('$username', SHA1('$pass1'), NOW());
关于php - #1136-列数与值数不匹配?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36685066/