这是我将日期插入数据库的代码。一切都很好,除了我无法获取insert_id。
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$data_to_store = filter_input_array(INPUT_POST);
$db = getDbInstance();
$Stats = $db->insert ('images', $data_to_store);
$last_id = $db->insert_id();
if($Stats)
{
$_SESSION['success'] = "Record added successfully!";
header('location: index.php');
exit();
}
}
它显示:
Fatal error: Uncaught Error: Call to undefined method MysqliDb::insert_id() in
我的数据库:
function getDbInstance() {
return new MysqliDb(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
}
怎么了? 谢谢
答案 0 :(得分:0)
由于PHP用于mysqli
的类称为mysqli
,所以我猜您正在使用PHP-MySQLi-Database-Class
,其类名是MysqliDb
。这些信息非常重要,并且在您的帖子中也很少见!
如果您查看该类,您会发现没有名为0的函数insert_id
。您要查找的函数称为getInsertId
。如source中所示。
答案 1 :(得分:-1)
据我所知,MysqliDb
没有像您尝试过的最后一个插入ID函数:insert_id
。
有两种解决方法。
答案 2 :(得分:-1)
insert_id
是属性而不是方法,因此它不应该带有括号。所以应该是
$last_id = $db->insert_id;
不是
$last_id = $db->insert_id();