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()
我不确定从哪里开始。
感谢您的时间和帮助。
答案 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'];
}