私は準備されたステートメントを作成しようとしており、その中で $_POST 変数を使用していますが、オンラインで見たものは何も機能していないようです。質問が適切な調査を示すことを意図していることは知っていますが、この質問に一致するものをオンラインで見つけることができません. 私が間違っていることを教えてください。
$dbh = new PDO('mysql:host=localhost;dbname=dbname', 'user', 'pass');
$currentdate = date("Y-m-d");
$key = md5(microtime().rand());
try {
$query = $dbh->prepare("INSERT INTO requests (formname, formemail, formphone, formpostcode, formitem, formnotes, formbudget, formdatefor, currentdate, deletekey, resolved, deleted)
VALUES (:name, :email, :phone, :postcode, :item, :notes, :budget, :datefor, :curentdate, :key, '0', '0')");
$params = array_intersect_key($_POST, array('name', 'email', 'phone', 'postcode', 'item', 'notes', 'budget', 'datefor', 'currentdate', 'key'));
$query->execute($params);
}
catch (PDOException $e) {
error_log($e->getMessage());
die("An error occurred, contact the site administrator.");
}