我有一个创建cookie的函数,并相应地使用cookie数据更新数据库,但我似乎无法从函数中更新数据库。 is currently unable to handle this request.
您可以理所当然地认为正确的数据被输入到函数中,包括$ db。一旦我注释掉准备并执行插入到$ db的两个$stmt
行,我就可以加载页面。
$ db存在于调用函数之前我需要的文件调用db.php
中。我在其他页面查询中测试了$db
,它似乎没有问题。
function updatecookieDB($db, $email)
{
$Selector = md5($email);
$token = bin2hex(random_bytes(20));
$salt = bin2hex(random_bytes(20));
$cookiedata = $Selector.$token;
$Hash = md5($token.$salt);
setcookie('RememberMe',$cookiedata,time()+(3600*24*15),"/")
$query = " INSERT INTO RememberMe(email,Selector,Hash,Salt) VALUES (:email,:Selector,:Hash,:Salt) ";
$query_params = array ( ':email' => $email ,':Selector' => $Selector , ':Hash' => $Hash, ':Salt' => $salt );
try
{
$stmt = $db->prepare($query);
$stmt->execute($query_params);
{
catch(PDOException $ex) { die("Failed to run query: " . $ex->getMessage()); }
}
可能是因为我没有退货吗?
答案 0 :(得分:-2)
我将其更改为以下内容并且工作正常:
$stmt = $db->prepare($query)->execute($query_params);