gpt4 book ai didi

php - 字段电子邮件未在 MySQL 表中更新(使用 PDO)

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

我在更新用户个人资料的网站上运行查询。它会更新每个字段电子邮件字段,因为它应该。实际上它根本没有对电子邮件字段做任何事情。

我这样定义我的 $email 变量:

$email = str_replace(" ", "", trim($_POST['email']));

然后我使用我的数据库包装器来更新它:

MySQL::do_query(
$db,
"UPDATE customer
SET
email=?,
firstname=?,
surname=?,
phonenumber=?,
street_address=?,
postcode=?,
city=?,
extra_2=?,
ssn=?,
password=?
WHERE customer_id=?
AND password=?",
array($email, $firstname, $surname, $phone, $address, $zip, $city, $extra_2, $ssn, StringConverter::generate_hash($email, $_POST['pw']), $customer, StringConverter::generate_hash($email, $_POST['pw']))
);

但是,接下来的问题是,它不会更新电子邮件字段。其他所有字段都更新得很好。我尝试运行单独的查询更新电子邮件,但这也不起作用。

插入时工作正常,只是更新时不工作。到目前为止,我不知道出了什么问题。 $email 变量保存了正确的电子邮件地址,尽管查询似乎忽略了它。有什么想法吗?

最佳答案

您是否尝试过随电子邮件一起更新多项内容?我猜不是,因为我认为如果您更改电子邮件,那么整个更新将无法正确执行...这是因为您在 StringConverter::generate_hash($ email, $_POST['pw']),但如果更改了电子邮件,则该行将不满足 where 子句中的密码检查。

关于php - 字段电子邮件未在 MySQL 表中更新(使用 PDO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5232210/

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