为了账号安全,请及时绑定邮箱和手机立即绑定

我可以向你的帮助询问这个问题吗

我可以向你的帮助询问这个问题吗

PHP
料青山看我应如是 2023-05-26 16:13:33
       $pdo=preparedbuser();        $check = $pdo->prepare('UPDATE adress SET city="?", adres="?", number="?", postalcode="?" WHERE id_FK="?"');        $check->bindParam(1, $city, PDO::PARAM_STR);        $check->bindParam(2, $adres, PDO::PARAM_STR);        $check->bindParam(3, $number, PDO::PARAM_STR);        $check->bindParam(4, $postalcode, PDO::PARAM_INT);        $check->bindParam(5, $user, PDO::PARAM_INT);        $check->execute();        if ($check->rowCount() > 0){          echo'inserito';UPDATE 查询不起作用。我在查询中替换的变量是正确的。数据库设置正确。我的 sql 没有返回任何错误;并尝试将查询复制并粘贴到 My sql 面板(进行必要的替换)中。有人能帮我吗?谢谢
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

使用参数时不需要引号:

$check = $pdo->prepare('UPDATE adress SET city=?, adres=?, number=?, postalcode=? WHERE id_FK=?');

数据库引擎知道类型并将相应地处理它们。使用带有查询参数的准备好的语句的主要好处之一是让数据库引擎处理它。事实上,您已经告诉 PDO 这些类型是什么:

PDO::PARAM_STR

旁注:邮政编码不应整数/数字值,就像您在此处所做的那样:

$check->bindParam(4, $postalcode, PDO::PARAM_INT);

邮政编码是一个字符串。在许多国家(例如我居住的美国),邮政编码是数字字符(虽然在这里它们可能包含 +4 格式的连字符),但在许多国家它们可能是字母数字。很像电话号码,尽管它看起来像数字,但它仍然是一个字符串。(我怀疑你打算用邮政编码进行数学计算。截断前导零可能会有问题。)


查看完整回答
反对 回复 2023-05-26
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信