我用這個函數向數據庫插入用戶的錯誤。我的公開功能是這樣的:PDO插入不起作用
public function set_error($var) {
$dsn = 'mysql:***;host=***';
$username = '***';
$passd = '***';
try {
$pdo = new PDO($dsn, $username, $passd);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);
$stmt = $pdo->prepare("INSERT INTO errors (ip, code, browser, referer, script, email, date) VALUES (:ip, :code, :browser, :referer, :script, :email, :date)");
$params = array('ip' => $_SESSION['info_utente']['ip'], 'code' => $var, 'browser' => $_SESSION['info_utente']['browser'], 'referer' => $_SESSION['referer'], 'script' => $_SESSION['info_utente']['script'], 'email' => $_SESSION['sessione_attiva']['email'],'date' => $this->ftime());
$stmt->execute($params);
return TRUE;
} catch (PDOException $e) {
return FALSE;
}
}
我有一個類似的功能(插入帳戶),這個工程!所以我調用函數set_error到另一個函數(註冊或登錄),如果用戶有一個錯誤,我調用這個函數:$ this-> set_error(「error_1」);但不起作用。
我檢查了數據庫,它都沒問題!列的名稱都可以,並且都是VARCHAR(255)。
正是:
$this->set_error("error_1");
return "error_1";
爲什麼這不起作用?
如果我的英語不好,請提前致謝!
什麼是在異常$ E中的錯誤信息?這應該給你一些它爲什麼失敗的跡象。但是你忽略了它。 –
注意:在尋求有關錯誤的幫助之前,請單獨刪除'catch $ e - Ignore' – webnoob
-1,但是代碼中有十幾個其他錯誤。 –