调用未定义的方法SQLite3Stmt :: fetch()

时间:2018-02-03 21:22:12

标签: php sqlite fetch

    <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

 <?php
 class MyDB extends SQLite3
{
    function __construct()
    {
        $this->open('Users.db');
    }
}

$db = new MyDB();


 $email_address = $_POST['email_address'];
 $password = $_POST['password'];

 $email_address =($email_address);
 $password =($password);

 $email_address = intval($_POST["email_address"]);
 $password = intval($_POST["password"]);
 $sql = "SELECT * FROM user_info WHERE email_address='$email_address' AND password='$password WHERE email_address=? AND where password=?'";


 $stmt = $db->prepare($sql);
 $stmt->bindParam(1, $email_address);
 $stmt->bindParam(2, $password);

 $stmt->execute();

 while($column = $stmt->fetch())
 {
     echo $column["email_address"];
     echo $column["password"];
 };


 if($email_address==1){
     echo "<h1>Logged In</h1>";
 }else
 { 

     echo " <h2> Not Logged In </h2>";

 }

while($ column = $ stmt-&gt; fetch())这一行引发了一个错误,称调用未定义的方法SQLite3Stmt :: fetch()。有谁知道如何解决这种情况?我想要做的只是一个简单的登录页面,如果用户名和密码在数据库中,我将检查SQLite数据库。

1 个答案:

答案 0 :(得分:0)

$stmt->execute()返回一个可以从中获取行的结果集:

$result = $stmt->execute();
while ($row = $result->fetchArray()) {
    echo $row['email_address'];
}