php注册表单,在phpmyadmin中添加更多列
我制作了一个简单的注册表单,但当我在phpmyadmin中添加更多列时,我无法注册一个用户,它会显示“由于服务器错误,注册失败”。请稍后再试。 谢谢你的帮助。php注册表单,在phpmyadmin中添加更多列,php,mysql,registration,Php,Mysql,Registration,我制作了一个简单的注册表单,但当我在phpmyadmin中添加更多列时,我无法注册一个用户,它会显示“由于服务器错误,注册失败”。请稍后再试。 谢谢你的帮助。 if($password==$cpassword) { $query = "select * from user where username='$username'"; $query_run = mysqli_query($con,$query); if($query_run)
if($password==$cpassword)
{
$query = "select * from user where username='$username'";
$query_run = mysqli_query($con,$query);
if($query_run)
{
if(mysqli_num_rows($query_run)>0)
{
echo '<script type="text/javascript">alert("This Username Already exists.. Please try another username!")</script>';
}
else
{
$query = "insert into user values('$username','$password')";
$query_run = mysqli_query($con,$query);
if($query_run)
{
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
// header( "Location: profile.php");
echo '<script type="text/javascript">alert("User Registered.. Welcome")</script>';
}
else
{
echo '<p class="bg-danger msg-block">Registration Unsuccessful due to server error. Please try later</p>';
}
}
}
else
{
echo '<script type="text/javascript">alert("DB error")</script>';
}
}
else
{
echo '<script type="text/javascript">alert("Password and Confirm Password do not match")</script>';
}
}
else
{
}
?>
if($password==$cpassword)
{
$query=“从用户名为“$username”的用户中选择*;
$query\u run=mysqli\u query($con,$query);
如果($query\u run)
{
如果(mysqli\u num\u行($query\u run)>0)
{
回显“警报”(“此用户名已存在..请尝试其他用户名!”);
}
其他的
{
$query=“插入到用户值(“$username”,“$password”)”;
$query\u run=mysqli\u query($con,$query);
如果($query\u run)
{
$\会话['username']=$username;
$\会话['password']=$password;
//标题(“位置:profile.php”);
回显“警报”(“用户注册..欢迎”);
}
其他的
{
echo“由于服务器错误,注册失败。请稍后再试;
}
}
}
其他的
{
回显“警报”(“DB错误”);
}
}
其他的
{
回显“警报”(“密码和确认密码不匹配”);
}
}
其他的
{
}
?>
我尝试添加不同的列,但没有任何效果,我想我只需要更改$query函数或其他功能。例如,当我只有用户名和密码列时,它可以工作,但当我添加用户id或创建用户的日期时,它就不起作用。那张表格有什么问题 我认为问题在于,当您插入列
user\u id
时,您忘记将其键设置为主键并将其设置为自动递增,我假设在您的查询中,该表只有用户名和密码字段,因此没有处理或插入用户id,因此您的查询返回了一个错误。,我发现了问题所在,很简单,我只需要改变:
$query = "insert into user values(NULL,'$username','$password')";
由于id列的类型是AUTO_INCREMENT,MySQL将根据序列中的下一个可用数字决定分配哪个值。我在书中读到:
学习php mysql和javascript罗宾·尼克松。
无论如何,谢谢。我认为当您添加更多列时,您会在
PhpMyAdmin
中将它们标记为notnull
,这就是为什么在执行insert查询时,它会抛出一个异常,if($query\u run)
返回false
,因此注册不成功。。回声