なぜこの関数はデータベース クエリを正常に実行するのに、依然としてFatal error: Call to a member function free() on a non-object を返すのですか?
private function record_login()
{
$user_id = $this->user_id;
$time = time();
$ip_address = $this->ip_address;
$link = $this->db_connect();
$query = "INSERT INTO login_log (user_id, login_time, ip_address)
VALUES ('$user_id', '$time', '$ip_address')";
$result = $link->query($query);
if (!$result) {
$this->log_error(); // This function does NOT get called
}
$result->free();
$link->close();
return true;
}
編集:
上記の db_connect() 関数は次のとおりです。
private function db_connect()
{
$link = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
if(mysqli_connect_errno()) {
die(mysqli_connect_error());
}
else {
return $link;
}
}