php:如何在mysql中获得用户名和密码的未知id

von4xj4u  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(387)

大家好,我创建了一个登录从它的完美工作,所以在同一时间,我试图获得用户名和密码,我输入的id,有人能告诉我怎么做。注意:我不太擅长php。谢谢您

<?php
   include("login.php");
   session_start();
   $notexist="";

   if($_SERVER["REQUEST_METHOD"] == "POST") {
      // username and password sent from form 

      $myusername = mysqli_real_escape_string($db,$_POST['email']);
      $mypassword = mysqli_real_escape_string($db,$_POST['password']); 
     $id;

      $sql = "SELECT ID FROM newdata WHERE  names = '$myusername' and password= '$mypassword' ";

      $result = mysqli_query($db,$sql);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);

      $count = mysqli_num_rows($result);

      // If result matched $myusername and $mypassword, table row must be 1 row

      if($count == 1) {

        $notexist="";
        echo "yes";

        echo $myusername;
       $url = "test.php?username=".$myusername;

       $_SESSION['favcolor'] = 'green';
       exit();
      }else {
         $notexist="wrong username and password";
         echo  $notexist;
      }
   }
?>
velaa5lx

velaa5lx1#

编辑:抱歉,这是我第一次在这里回答问题。我将在所有未来的答案中包括对正在发生的事情的解释。
基本上,当您使用mysqli\u fetch\u array()函数时,您将为查询的第一行返回两个数组。一个关联数组,键=字段名+值=返回值。从索引0开始的一个编号数组。通过使用第二个可选参数指定仅具有关联数组。
因此,要访问此can中查询的第一个字段,可以使用$row['id']或$row[0]。我更喜欢使用关联数组,因为它使代码更易于阅读。
您不能使用它来访问字段名称或密码,因为它们不在查询的select子句中。如果您想访问它们,可以使用以下命令

$sql = "SELECT ID, names, password FROM newdata WHERE  names = '$myusername' and password= '$mypassword' ";

如果返回多行数据,则可以通过在while循环中 Package fetch\u数组来访问每一行

while($row = mysqli_fetch_array($result)){
  //do some stuff here
}

相关问题