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);
Ich weiß, das wurde viel gefragt, aber ich kann keine Antwort finden. Ich erhalte den SQL-Fehler Nummer 1136 - Spaltenanzahl stimmt nicht überein, Wert für meine Abfrage: INSERT INTO Benutzer (Benutzername, übergeben) VALUES ('$ Benutzername', SHA1 ('$ Pass1'), NOW())# 1136 - Spaltenanzahl stimmt nicht mit Wert überein?
Nummer 1136 - Die Anzahl der Spalten stimmt nicht mit der Anzahl der Werte überein, wie Sie sehen können. Alle Werte sind aufgelistet. Kann mir jemand bitte helfen
Danke
Seine einfache Sie können sehen, dass die Anzahl der Werte, die Sie versuchen, Benutzer Tabelle hinzuzufügen ist 3, aber Sie haben nur 2 Spaltennamen angeben. Fügen Sie den anderen Spaltennamen hinzu, der dem letzten Wert (NOW()) entspricht. Dies wird dein Problem lösen. –