Возможный дубликат:
Ошибка Mysql & PHP: количество столбцов не соответствует количеству значений в строке 1
Я пытаюсь создать форму регистрации учетной записи в PHP. Я подключил его к моей базе данных MySQL, но после того, как я попытаюсь зарегистрироваться в форме, я получаю ошибку, которая находится в названии.
if(isset ($_POST['submit'])) { include( 'connection.php' ); $username = $_POST['username']; $password = $_POST['password']; $email = $_POST['email']; if(empty($username) || empty($email) || empty($password)) { echo 'Please check the required fields.'; } elseif(!filter_var($email,FILTER_VALIDATE_EMAIL)) { echo 'Please enter a correct email address.'; } else { $password = md5($password); $sql = mysql_query("INSERT INTO users (email,username,password) VALUES ('$email','$username','$password',now())") or die(mysql_error()); if($sql) { echo 'Successfully submitted.'; } } }
3 колонки:
$sql = mysql_query("INSERT INTO users (email,username,password)
4 значения:
VALUES ('$email','$username','$password',now())") ...
Проверьте инструкцию insert, вам не хватает столбца
INSERT INTO users (email,username,password) VALUES ('$email','$username','$password',now())
Последнее значение «now ()» не имеет соответствующего имени столбца … Я предполагаю, что вам не хватает чего-то типа date_added?
У вас есть несоответствие в вашем заявлении sql:
INSERT INTO (адрес электронной почты, имя пользователя, пароль) VALUES ('$ email', '$ username', '$ password', now ())
Есть только 3 столбца, указанные «email, username, password», но вы добавляете к нему четыре значения.