PDO lastInsertID致命错误

时间:2017-04-07 15:03:05

标签: pdo

我有一个名为DB的班级。 当我在表中插入某些内容时,它会返回错误消息:

  

在/ home /...

中调用null上的成员函数lastInsertId()

一切都很好,但为什么会出现这个问题我不知道。 我的代码:

class DB
{
   public static $pdo = NULL;
   public static $last_stmt = NULL;

public static function instance()
{
    return ($pdo == NULL ? self::init() : $pdo);
}

public static function init()
{
    $pdo = new PDO("mysql:host=" . MYSQL_HOST . ";dbname=" . MYSQL_DB, MYSQL_USER, MYSQL_PASS);
    $pdo->exec("SET NAMES utf8");
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
    return $pdo;
}

public static function query($query, $bindings = NULL)
{
    if( is_null($bindings) ) 
    {
        if( !($last_stmt = self::instance()->query($query)) ) 
        {
            return false;
        }

    }
    else
    {
        $last_stmt = self::prepare($query);
        if( !$last_stmt->execute($bindings) ) 
        {
            return false;
        }

    }

    return $last_stmt;
}

public static function insert($query, $bindings = NULL)
{
    if( !($stmt = self::query($query, $bindings)) ) 
    {
        return false;
    }

    return $pdo->lastInsertId();
}

}

0 个答案:

没有答案