gpt4 book ai didi

php - 切换到 PDO,提交时出错

转载 作者:行者123 更新时间:2023-11-29 14:05:32 24 4
gpt4 key购买 nike

我对 PDO 有点陌生,我知道如何完美地选择数据,我的问题是插入。

$Finalize = $pdo->prepare("INSERT INTO `users` VALUES(`id`,:email,:hashedpassword,:firstname,:lastname,:gender,:bdaymonth,:bdayday,:bdayyear,'".time()."',:username)");
$Finalize->bindValue(':email', $email, PDO::PARAM_STR);
$Finalize->bindValue(':hashedpassword', $hashedPassword, PDO::PARAM_STR);
$Finalize->bindValue(':firstname', $first_name, PDO::PARAM_STR);
$Finalize->bindValue(':lastname', $last_name, PDO::PARAM_STR);
$Finalize->bindValue(':gender', $gender, PDO::PARAM_STR);
$Finalize->bindValue(':bdaymonth', $bday_month, PDO::PARAM_STR);
$Finalize->bindValue(':bdayday', $bday_day, PDO::PARAM_STR);
$Finalize->bindValue(':bdayyear', $bday_year, PDO::PARAM_STR);
$Finalize->bindValue(':bdayday', $username, PDO::PARAM_STR);
if($Finalize->execute() == false){
echo '6';
die;
}

我做错了什么?这个脚本只是使用 mysql_query 并且工作正常,所以我不知道我做错了什么。

最佳答案

您两次将值绑定(bind)到 ':bdayday' 参数,但没有将任何值绑定(bind)到 ':username' 参数:

$Finalize->bindValue(':bdayday', $bday_day, PDO::PARAM_STR);
// [ deletia ]
$Finalize->bindValue(':bdayday', $username, PDO::PARAM_STR);

默认情况下,PDO 在发生错误时不会输出警告或引发异常:您必须手动检查每个函数的返回值以查看其是否成功并适本地处理错误。

但是,您可以 modify this default behaviour .

关于php - 切换到 PDO,提交时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14418607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com