基本上,正在使用php和MySQL.我是初学者.
我要做的是将用户注册到我的数据库,因此将表单输入存储到我的users_tb.
尝试将值插入表单时出现此错误:
"列数与第1行的值计数不匹配"
我以为是因为我没有插入user_id值(这是自动增量),所以我尝试在我的查询中插入''用于user_id,但仍然没有运气.
这是查询:
$query = "INSERT INTO users_tb (user_id, user_status, user_gender, user_firstname, user_surname, student_number,
user_email, user_dob, user_name, user_pass)
VALUES('','$status','$gender','$firstname','$surname','$hnumber','$dob','$username','$password')";
mysql_query($query) or die(mysql_error());
mysql_close();
Run Code Online (Sandbox Code Playgroud)
这是否有帮助.如果您需要任何其他代码,请说.
只是为了确保,插入不必是表中字段的顺序相同吗?
非常感谢,
Cze*_*ogy 13
你错过了一个值.
对于这么多列的查询(如果你只插入一行),我建议使用以下INSERT语法,它更容易阅读,不太可能导致问题.
$query = "INSERT INTO users_tb SET
user_status = '". mysql_real_escape_string($status) ."',
user_gender = '". mysql_real_escape_string($gender) ."',
user_firstname = '". mysql_real_escape_string($firstname) ."',
user_surname = '". mysql_real_escape_string($surname) ."',
student_number = '". mysql_real_escape_string($hnumber) ."',
user_email = '". mysql_real_escape_string($email) ."',
user_dob = '". mysql_real_escape_string($dob) ."',
user_name = '". mysql_real_escape_string($username) ."',
user_pass = '". mysql_real_escape_string($password) ."'";
mysql_query($query) or die(mysql_error());
mysql_close();
Run Code Online (Sandbox Code Playgroud)
你错过了一个值user_email.
$query = "INSERT INTO users_tb
(
user_status,
user_gender,
user_firstname,
user_surname,
student_number,
user_email,
user_dob,
user_name,
user_pass
)
VALUES
(
'$status',
'$gender',
'$firstname',
'$surname',
'$hnumber',
'$email', -- <--- you forgot this!
'$dob',
'$username',
'$password'
)";
Run Code Online (Sandbox Code Playgroud)
只是提醒一下:mysql_real_escape_string如果您还没有这样做,就应该使用这些值.
| 归档时间: |
|
| 查看次数: |
34922 次 |
| 最近记录: |