<?php
session_start();
$c=mysqli_connect('mysql.hostinger.in','u808297599_eval','nandini123');
if(!$c)
exit("ERROR");
$db=mysqli_select_db($c,'u808297599_eval');
if(!$db)
exit("ERROR");
$e=$_POST['username'];
$p=$_POST['password'];
$_SESSION['username']=$e;
$query="SELECT * FROM tecaherlogin WHERE username='$username' AND password='$password' ";
$result=mysqli_query($c,$query);
$exists=mysql_num_rows($result);
if ($exists!=0)
{
//while loop
while ($row = mysqli_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
if($dbpassword==$p)
{
Print '<script>alert("Correct Password!");</script>';
Print '<script>window.location.assign("evaluate.html"); </script>';}
else
{
Print '<script>alert("Incorrect Password!");</script>';
Print '<script>window.location.assign("teacherloginnew.html");</script>';
}
}
else
echo "user does not exist!";
?>
我收到此错误:
警告:mysqli-fetch-assoc要求参数1为mysqli_result,给定字符串
这在加载页面之前显示,警告标志不应该在那里,因为这是我的项目。请帮忙。
答案 0 :(得分:1)
您正在尝试fetch_assoc
字符串$query
。
您的mysqli_result
是变量$result
,这是您应该在此传递的变量:
while ($row = mysqli_fetch_assoc($query))
这样做:
while ($row = mysqli_fetch_assoc($result))
下面的查询已经验证密码是否正确。所以你不需要在下面再次获取关联。
$query="SELECT * FROM tecaherlogin WHERE username='$username' AND password='$password' ";
你只需要这个:
$exists=mysql_num_rows($result);
if ($exists!=0)
{
Print '<script>alert("Correct Password!");</script>';
Print '<script>window.location.assign("evaluate.html"); </script>';
}
else
{
Print '<script>alert("Incorrect User or Password!");</script>';
Print '<script>window.location.assign("teacherloginnew.html");</script>';
}