db2数据库无法检查用户名是否已存在[已解决]


SHOU宅大可爱
2025-03-18 05:49:44 (3天前)
  1. 我正在使用IBM Db2PHP创建一个简单的注册页面,我的所有数据都保存在Db2数据库中,但我无法保留已存在的用户名的约束。它正在注册用户......

3 条回复
  1. 0# 蜡笔小辛 | 2019-08-31 10-32



    上面提出的查询在以下代码片段中解决;




    1. if(isset($_POST[‘signup’])){
      $username = ($_POST[‘username’]);
      $email = ($_POST[‘email’]);
      $password = ($_POST[‘password’]);
      $confirm_password = ($_POST[‘confirm_password’]);

    2. //form validation

    3. if(empty($username)) {array_push($errors, Username is required”);}
      if(empty($email)) {array_push($errors, Email is required”);}
      if(empty($password)) {array_push($errors, Password is required”);}
      if($password != $confirm_password) {array_push($errors, Passwords do not match”);}
      if(strlen($password)<6){array_push($errors, Password must be at least 6 characters long”);}
      if (!preg_match($password_requirements, $password) ) {array_push($errors,”Password must contain at least one upper case , one lower case and one digit );}

    4. //check db for existing user with same username

    5. $check_username = SELECT FROM people WHERE username = $username’”;
      $check_email = SELECT
      FROM people WHERE email = $email’”;

    6. $res_username = db2_exec($db, $check_username);
      $user_username = db2_fetch_assoc($res_username);
      $res_email = db2_exec($db, $check_email);
      $user_email = db2_fetch_assoc($res_email);

    7. if(!empty($user_username)){
      array_push($errors, Username already exists!”);
      }
      if(!empty($user_email)){
      array_push($errors, Email already exists!”);
      }
      //register user if no error
      elseif (count($errors) == 0) {

    8. //$password = md5($password);
    9. $query = "INSERT INTO people (username, email, password)
    10.             VALUES ('$username', '$email', '$password')";
    11. db2_exec($db,$query) or die("couldn't execute query..".db2_stmt_errormsg());
    12. $_SESSION['username']= $username;
    13. $_SESSION['success']= "You are now logged in"; 
    14. //echo "you are now logged in";
    15. header('Refresh: 0; URL=index.php', true, 301);
    16. }

    17. </code>


    }


  2. 1# 林老爷的日常 | 2019-08-31 10-32



    只需添加另一个查询即可检查用户名和密码




    1. $check_username_password= SELECT * FROM users WHERE username =’$username AND
      password = $password’”;

    2. $result = db2_exec($db,$check_username_password);
      $user = db2_fetch_assoc($result);

    3. if(!empty($user)){ // username match with the password
      // Set your session here
      // Redirect to the page you want

    4. }
      else{
      // Show your error here
      }

    5. </code>

登录 后才能参与评论