Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php注册表单,在phpmyadmin中添加更多列_Php_Mysql_Registration - Fatal编程技术网

php注册表单,在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)

我制作了一个简单的注册表单,但当我在phpmyadmin中添加更多列时,我无法注册一个用户,它会显示“由于服务器错误,注册失败”。请稍后再试。 谢谢你的帮助。
    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
,因此注册不成功。。回声