gpt4 book ai didi

php - mysqli_num_rows() 总是抛出错误

转载 作者:行者123 更新时间:2023-11-29 14:05:27 25 4
gpt4 key购买 nike

我已经到处搜索但找不到问题的解决方案。我在 php 中有一个登录脚本。当数据库中没有与用户输入的值匹配的内容时,会显示一条错误消息。但还会引发另一个警告。

Warning: mysqli_num_rows() expects parameter 1 to be mysqli, 
boolean given in C:\xampp\htdocs\index.php on line 26

这是代码。我知道类似的问题已被问过很多次,但他们都无法为我提供解决方案。这是完整的代码。

    <?php

session_start();
require_once('connectionvariables.php');
$error_msg = "";

if(!isset($_SESSION['user_id']))
{
if(!empty($_COOKIE['user_id']) && !empty($_COOKIE['username']))
{
$_SESSION['user_id'] = $_COOKIE['user_id'];
$_SESSION['username'] = $_COOKIE['username'];
}
else
{
if(isset($_POST['submit']))
{
$dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
$user_username = mysqli_real_escape_string($dbc,trim($_POST['username']));
$user_password = mysqli_real_escape_string($dbc,trim($_POST['password']));

if(!empty($user_username) && !empty($user_password))
{
$query = "SELECT user_id,username FROM mismatch_user WHERE username = '$user_username' AND password = SHA('$user_password')";
$data = mysqli_query($dbc,$query);
if(mysqli_num_rows($data) == 1)
{
$row = mysqli_fetch_array($data);
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['username'] = $row['username'];
setcookie('user_id',$row['user_id'],time() + ( 60 * 60 * 3600));
setcookie('username',$row['username'],time() + ( 60 * 60 * 3600));
header('Location: http://www.google.com');

}
else
{
$error_msg = 'enter a valid username and password';
}
}
else
{
$error_msg = 'you have to enter username and password to Log In...';
}
}
}
}
?>

这是第 26 行。

if(mysqli_num_rows($data) == 1)

最佳答案

您的查询中可能存在错误。例如,未知的列名或类似问题将使mysqli_query返回false( bool 值)。我建议您仔细检查查询的内容以修复任何拼写错误。请参阅http://php.net/manual/en/mysqli.query.php了解更多详情。

关于php - mysqli_num_rows() 总是抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14424944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com