我需要获取数据库中插入的最后一个ID。
我正在使用一个小的CRUD,并且试图将其添加到代码中。
我知道在捕获错误之前必须先调用它,但是如果需要调用,我将其设为“不可用”。
CRUD的插入部分:
private function buildInsert($arrayData)
{
$sql = '';
$fields = '';
$values = '';
foreach ($arrayData as $key => $value)
{
$fields .= $key.', ';
$values .= '?, ';
}
$fields = (substr($fields, -2) == ', ') ? trim(substr($fields, 0, (strlen($fields) - 2))) : $fields;
$values = (substr($values, -2) == ', ') ? trim(substr($values, 0, (strlen($values) - 2))) : $values;
$sql .= "INSERT INTO {$this->table} (".$fields.")VALUES(".$values.")";
return trim($sql);
}
和
public function insert($arrayData)
{
try
{
$sql = $this->buildInsert($arrayData);
$stm = $this->pdo->prepare($sql);
$count = 1;
foreach ($arrayData as $value)
{
$stm->bindValue($count, $value);
$count++;
}
$result = $stm->execute();
return $result;
}
catch (PDOException $e)
{
echo 'Error: '.$e->getMessage();
}
}
我已经尝试过$ stm-> lastInsertId();但它不起作用,或者我不知道如何将其传递并使其可用。
有什么建议吗?
问候