Php 参数不匹配mysql\u fetch\u assoc()
sql查询中很可能存在错误,原因是Php 参数不匹配mysql\u fetch\u assoc(),php,html,mysql,Php,Html,Mysql,sql查询中很可能存在错误,原因是mysql\u fetch\u assoc返回bool(很可能为false,例如查询失败)。使用mysql\u error函数查找问题 mysql.*已折旧,请切换到mysqli.* 使用mysqli中的准备好的查询来转义所有输入,或者至少使用Escape\u string来避免SQL注入 注意,mysql_uu函数已弃用,将随即将发布的php版本7一起删除。 检查$result,然后将其传递给mysql\u fetch\u数组。您将发现它是false,因为查询
mysql\u fetch\u assoc
返回bool(很可能为false,例如查询失败)。使用mysql\u error
函数查找问题
mysql.*
已折旧,请切换到mysqli.*
mysqli
中的准备好的查询来转义所有输入,或者至少使用Escape\u string
来避免SQL注入注意,mysql_uu函数已弃用,将随即将发布的php版本7一起删除。 检查
$result
,然后将其传递给mysql\u fetch\u数组
。您将发现它是false,因为查询失败。有关可能的返回值以及如何处理这些返回值的建议,请参阅mysql_查询文档
请参阅此示例:
<?php
include('connection/connection.php');
$uname=$_POST['uname'];
$password=$_POST['password'];
$sql=mysql_query("SELECT * FROM elemschool_admin WHERE admin_UName='$uname' AND admin_pass='$password'");
$sql1=mysql_query("SELECT * FROM elemschool_faculty WHERE facultyID='$uname' AND faculty_password='$password'");
$row=mysql_fetch_assoc($sql1);
$cout=mysql_num_rows($sql);
$cout1=mysql_num_rows($sql1);
if($cout>0){
$_SESSION['id']=$uname;
header("location: modules/admin/index.php");
}
else{
?>
<script>
alert("Wrong Input!");
window.location="index.php";
</script>
<?php
}
?>
很多事情都可能导致这个问题。也许您的POST变量是空的,也许它们需要转义。。。
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");
if($result === FALSE) {
die(mysql_error()); // TODO: better error handling
}
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'];
}