gpt4 book ai didi

php - 更新 MySQLI 中的参数

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

我正在尝试更新 mySql 数据库中的一行。但是我只想更新特定参数,这些参数不为空:

db->prepare("UPDATE table SET userFirstName = $userFirstName, userLastName = $userLastName WHERE xx = $xx");

这就是我现在所做的,但可能 userFirstName 不需要更新,或者 userLastName ,...因为我有可能的值,所以我需要一种方法来表达类似的内容:

如果 userLastName 不为“null”,则更新...

最佳答案

MySQL 足够聪明,可以确定是否更新该行。如果它发现要更新的值与列中当前的值匹配,它将跳过重写它,即使没有,它也不是您真正应该关心的事情。我自己也有过很多这样的优化困扰,我可以根据经验告诉你,它们不会给你带来任何好处。

您的代码存在更大的问题。您使用 prepare 是毫无意义的。您的 SQL 仍然容易受到攻击。搜索准备好的语句和 mysql 注入(inject)。

但是,要按原样回答问题 - 您应该使用对象作为数据库映射器。它们让您的生活变得更加轻松。基本上,这个想法是,您有一个代表表中一行的对象,然后它会跟踪哪些属性已被修改,并且当您调用 $object->save() 时,它确切地知道哪些字段更新。

关于php - 更新 MySQLI 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28463127/

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