この関数を使用して、ユーザーのエラーをデータベースに挿入します。私の公開機能は次のとおりです。
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 を別の関数 (サインアップまたはログイン) に呼び出します。関数を次のように呼び出します。しかし、うまくいきません。
データベースを確認しましたが、すべて問題ありません。列の名前は問題ありません。すべて VARCHAR(255) です。
正確に:
$this->set_error("error_1");
return "error_1";
なぜこれが機能しないのですか?
事前に感謝し、私の英語が下手である場合は申し訳ありません!