mysqli fetch_object()抛出一个错误

时间:2011-12-21 16:35:42

标签: php mysql mysqli

Os我开始使用mysqli,我对它的运作方式感到有些困惑。

所以我有一个功能:

function verify_payment_date()
{
    $today = date("Y-m-d");

    $email = $_SESSION['email'];

    $result = $this->conn->query("SELECT * FROM user WHERE email=$email");

    while ($row = $result->fetch_object())
    {
        $next_payment_date = $row['next_payment_date'];
    }
}

要设置我的连接,请在同一个类中执行此操作:

 private $conn;

function __construct() 
{
    $this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or 
                  die('There was a problem connecting to the database.');
}

任何人都可以帮助我,因为我完全迷失了。我基于这个网站上的一些代码: http://www.willfitch.com/mysqli-tutorial.html

我得到的错误是:

致命错误:在第52行的/home/vhosts/tradingeliteclub.com/subdomains/test/httpdocs/FES/members/classes/Mysql.php中调用非对象上的成员函数fetch()

我不确定从哪里开始。

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:1)

$result不是mysql结果,您的查询失败。尝试

$result = $this->conn->query("SELECT * FROM user WHERE email='$email'");
// apostrophes

代替。

$this->conn->query成功时返回resource,失败时返回false。您可以通过这种方式避免错误

if($result) while ($row = $result->fetch_object())
{
    $next_payment_date = $row['next_payment_date'];
}