【问题标题】:Fatal error: Call to undefined method mysqli_result::fetch() in C:\wamp\www\...... on line 12 [duplicate]致命错误:在第 12 行调用 C:\wamp\www\...... 中未定义的方法 mysqli_result::fetch() [重复]
【发布时间】:2016-09-26 14:08:31
【问题描述】:

我正在尝试测试我的登录页面,因此当我登录时它应该重定向到我的帐户页面,但我收到此错误

致命错误:在第 12 行调用 C:\wamp\www...... 中未定义的方法 mysqli_result::fetch()

这是我的 Login.php 页面的源代码

<?php require ("connections/Connection.php"); ?>
<?php 

if(isset($_POST['Login_Button'])) {

    session_start();
    $Email = $_POST['Email'];
    $Password = $_POST['Password'];

$result = $Conn->query("Select UserID FROM users WHERE Email='$Email' AND Password='$Password'");

    while ($num_rows = $result->fetch(MYSQLI_BOTH));

{

session_start();

    $_SESSION["UserID"] = $num_rows['UserID'];

        header('Location: Account.php');

    }
}
?>

<!doctype html>
<html>
<head>
<link href="assets/css/Master.css" rel="stylesheet" type="text/css" />
<link href="assets/css/Menu.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8">
<title>Template</title>
</head>

<body>
<div class="Container">
    <div class="Header"></div>
    <div class="Menu">
        <div id="Menu">
            <nav>
                <ul class="cssmenu">
                    <li><a href="#">Register</a></li>
                    <li><a href="#">LogIn</a></li>
                </ul>
            </nav>
        </div> 
</div>
  <div class="LeftBody"></div>
    <div class="RightBody">
            <form action="" method="post" name="LoginForm" id="LoginForm">
                <div class="FormElement"> <input name="Email" type="email" required="required" class="TField" id="Email" placeholder="Email"> </div>
                <div class="FormElement"> <input name="Password" type="password" required="required" class="TField" id="Password" placeholder="Password"> </div>                
                <div class="FormElement"> <input name="Login_Button" type="submit" class="button" id="Login_Button" value="Login"> </div>
      </form>
    </div>
    <div class="Footer"></div>
</div>
</body>

这是我的connection.php(Mysqli连接代码)

<?php 

$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dberror1 = "Could Not Connect to Your Database";
$dberror2 = "Could Not Find Your Table";

$Conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die ($dberror1);

$Select_db = mysqli_select_db($Conn, 'users') or die ($dberror2);

$query = mysqli_query($Conn, "Select * FROM users");

$num_rows = mysqli_num_rows($query);

if($num_rows != 0){

while ($fetch = mysqli_fetch_assoc($query)){

echo $fetch['UserID'];
}
}

?>

有人可以帮忙吗?

【问题讨论】:

标签: php sql mysqli boolean fetch


【解决方案1】:

您在 SQL 查询中缺少逗号:

$result = $Conn->query("Select * FROM users WHERE
Email='$Email' AND Password='$Password");

应该是:

$result = $Conn->query("Select * FROM users WHERE
Email='$Email' AND Password='$Password'");

因此查询失败并且$resultfalse,这意味着fetch() 也失败了。一般来说,您应该在继续之前检查$result 是否有效。

如果您不希望Bobby Table 破坏您的数据库,还可以考虑转义电子邮件和密码:)

【讨论】:

  • query("Select UserID FROM users WHERE Email='$Email' AND Password='$Password'");而 ($num_rows = $result->fetch(MYSQLI_BOTH)); { session_start(); $_SESSION["UserID"] = $num_rows['UserID']; header('位置:Account.php'); } } ?> 现在我得到 Call to undefined method mysqli_result::fetch() in
  • 谢谢大家,现在遇到一种新类型的错误致命错误:在 C:\wamp\www\...... 中调用未定义的方法 mysqli_result::fetch() ......第 12 行跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-24
  • 1970-01-01
  • 1970-01-01
  • 2020-01-19
  • 2015-04-04
  • 2012-07-19
相关资源
最近更新 更多