我对基于 PDO 的 MySQL 相当陌生,但遇到了问题。
这是我正在执行的方法:
public function insert( $table, $data )
{
// utility functions to auto-format the statements
$keys = $this->getKeys($data);
$placeholders = $this->getPlaceholders($data);
$q = "INSERT INTO $table ($keys) VALUES ($placeholders)";
// this simply returns a new PDO object
$dbh = $this->createSession();
$stmt = $dbh->prepare($q);
$stmt->execute( array_values($data) );
return $dbh->lastInsertId();
}
之后,我运行我的方法并将返回的值存储在一个变量中:
$new_user_id = $U->insert( $data );
var_dump($new_user_id);
我得到
NULL
请注意,查询实际上已执行,并且我的数据已正确插入到我的表中;那边没问题。似乎它无法按照我的要求获取最后一个插入 ID。
谢谢你的时间。