ошибка необъекта при использовании pdo - PullRequest
0 голосов
/ 23 октября 2011

Я получаю сообщение об ошибке Call to a member function execute() on a non-object in /home... on line 44

Строка 44 является последней $statement. $db вводится, не знаю, почему это не работает. запрос выше работает нормально.

public $userinfo = array();
public $time_now = 0;
public $session_time = 3600;
public $db;
public $config;

public function __construct($db,$config)
{
    $this->userinfo['ip'] = $_SERVER['REMOTE_ADDR'];
    $this->time_now = time();
    $this->db = $db;
    $this->config = $config;
    $this->userinfo['userid'] = 0;
    $this->userinfo['level'] = 0;
}
function validate_user()
{
    if ($temp_userid = $_SESSION['userid'] > 0)
    {
        $sql = "SELECT userid,level,name,email,lastactivity  
                FROM user 
                WHERE userid = ? LIMIT 1";

        $statement = $this->db->prepare($sql);
        $statement->execute(array($temp_userid));
        $sid_row = $statement->fetchObject();

        if ($sid_row)
        {
            $this->userinfo['userid'] = $sid_row->userid;
            $this->userinfo['level'] = $sid_row->level;
            $this->userinfo['name'] = $sid_row->name;
            $this->userinfo['email'] = $sid_row->email;

            if ($this->time_now-600 > $sid_row->lastactivity)
            {
                $sql = "UPDATE user SET lastactivity = ? WHERE userid = ? LIMIT 1";
                $statement = $this->db->prepare($sql);
                $statement->execute(array($this->time_now,$this->userinfo['userid']));
            }
        }
    }....................

1 Ответ

1 голос
/ 23 октября 2011

Почему бы вам не попробовать $ Statement = $ this-> db-> execute ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...