我在制作一个登录脚本,它从两个表中获取数据。我明白,当语句返回FALSE AKA布尔值时发生此错误,但它为什么返回false? 我做这些工作在一定程度上致命错误:调用布尔型成员函数bind_param()
function loginall($username, $password)
{
$db_host="localhost";
$db_username="root";
$db_password="";
$db_name="name";
$con=mysqli_connect($db_host, $db_username,$db_password, $db_name);
$mysqli = new mysqli("$db_host","$db_username","$db_password", "$db_name");
$qry = "SELECT username, password, level, active FROM businesses WHERE username=? AND password=?
UNION SELECT username, password, level, active FROM employees WHERE username=? AND password=?";
$stmt = $mysqli->prepare($qry);
$stmt->bind_param("ssss", $u,$p,$uu,$pp);
$u = $username;
$p = $password;
$uu = $username;
$pp = $password;
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_array(MYSQLI_ASSOC))
{
return $row;
}
}
,直到我尝试从表中获取更多的列,甚至可以从表中试图SELECT *
它的伟大工程的功能。我阅读了其他类似的问题,并找到代码来显示错误,但没有运气。谢谢!
U,$ P,$ UU,或$ pp为空。回应他们看哪一个。 –
同样的查询在我的系统上运行 –
@SloanThrasher你能解释一下吗?该函数的工作,直到我试图从表中获得更多的列,这意味着这些变量是好的? 如果我试图回应它们,它不起作用,因为我得到了错误,我说的是错误后的白色页面,或者它只是登录我,但我需要登录时获得更多的列。 – Mar1AK