的PHP:我怎么能获得用户名和密码在MySQL中的未知的ID

时间:2018-12-20 21:44:34

标签: php mysql phpmyadmin

大家好,我从中创建了一个登录名,并且它运行良好,因此同时我试图获取我输入的用户名和密码的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;
      }
   }
?>

1 个答案:

答案 0 :(得分:-1)

编辑:对不起,我第一次在这里回答问题。我将在以后的所有答复中说明发生的情况。

基本上,当您使用mysqli_fetch_array()函数时,将为查询的第一行返回两个数组。一个关联数组,键=字段名称+值=返回值。一个从索引0开始的带编号的数组。您使用第二个可选参数指定了仅具有关联数组。

因此,要访问查询的第一个字段,您可以使用$ row ['ID']或$ row [0]。我更喜欢使用关联数组,因为它使代码更易于阅读。

您不能使用它来访问字段名称或密码,因为它们不在查询的SELECT子句中。如果您想访问它们,可以使用以下

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

如果您返回多行数据,则可以通过将while循环中的fetch_array换行来访问每一行

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