Php 获取最后一个插入id的代码有什么问题?
这是我将日期插入数据库的代码。一切都很好,只是我拿不到插入idPhp 获取最后一个插入id的代码有什么问题?,php,php-mysqlidb,Php,Php Mysqlidb,这是我将日期插入数据库的代码。一切都很好,只是我拿不到插入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 ($_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);
}
怎么了?因为PHP的mysqli类被称为mysqli,我猜您使用的是,它的类名是MysqliDb。这些信息很重要,在你的帖子中丢失了,太棒了
如果您查看该类,就会发现没有一个名为insert_id的函数具有0个参数。您正在寻找的函数称为getInsertId。正如在.中发现的,据我所知,MysqliDb没有您尝试过的最后一个insert id函数:insert\u id
有两种方法
更改库以使用类似以下内容或
您只需运行select查询并获取表中的最后一个id。
insert_id是一个属性而不是一个方法,因此它不应该有括号。应该如此
$last_id = $db->insert_id;
不是
您应该提供更多关于getDbInstance的信息,并插入_idfunction getDbInstance{return new MysqliDbDB_HOST,DB_USER,DB_PASSWORD,DB_NAME;}他的$DB不属于mysqli类。
$last_id = $db->insert_id();