Possible Duplicate:
Can't get mysql_insert_id() to work如何添加lastInsertId()?
我想打印使用lastInsertId()在這個函數最後插入的ID:
private function adduser() {
if (!empty($this->error)) return false;
$params = array(
':user_level' => parent::getOption('default-level'),
':name' => $this->name,
':email' => $this->email,
':username' => $this->username,
':password' => parent::hashPassword($this->password)
);
parent::query("INSERT INTO `login_users` (`user_level`, `name`, `email`, `username`, `password`)
VALUES (:user_level, :name, :email, :username, :password);", $params);
$shortcodes = array(
'site_address' => SITE_PATH,
'full_name' => $this->name,
'username' => $this->username,
'email' => $this->email,
'password' => $this->password
);
$subj = parent::getOption('email-add-user-subj');
$msg = parent::getOption('email-add-user-msg');
$cid = parent::lastInsertId();
if(!parent::sendEmail($this->email, $subj, $msg, $shortcodes))
$this->error = _('ERROR. Mail not sent');
$this->result = "<div class='alert alert-success'>" . sprintf(_('Successfully added user <b>%s</b> to the database. Credentials sent to user.'), $cid) . "</div>";
}
我加入了這一點:
$cid = parent::lastInsertId();
,然後加入$ CID here:
$this->result = "<div class='alert alert-success'>" . sprintf(_('Successfully added user <b>%s</b> to the database. Credentials sent to user.'), $cid) . "</div>";
但我不斷收到:
Fatal error: Call to undefined method Generic::lastInsertId() in
數據庫連接看起來是這樣的:
public function dbConn() {
include(dirname(__FILE__) . '/config.php');
try {
self::$dbh = new PDO("mysql:host={$host};dbname={$dbName}", $dbUser, $dbPass);
self::$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
} catch (PDOException $e) {
return '<div class="alert alert-error">'._('Database error: '). $e->getMessage() . '</div>';
}
}
任何想法如何,我應該適當加lastInsertId()?
你用於DB的框架/類是什麼? – rkosegi
raina77ow,是的,因爲我發現這與mysql_insert_id()無關,因爲這是PDO。 – Dreni
raina77ow,對不起,這不是Magento,這是一個用戶登錄腳本,我試圖通過添加lastInsertId()來修改,但我無法讓它工作。 – Dreni