我有一个名为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();
}
}