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