gpt4 book ai didi

PHP PDO : method to recognize automatically if a INSERT or UPDATE

转载 作者:行者123 更新时间:2023-12-04 05:34:20 25 4
gpt4 key购买 nike

我正在制作一个类(class)来轻松管理 SQL 命令。我创建了所有 CRUD,现在我正在尝试创建一个名为 save ($ data, $ table) 的新方法。
“保存”必须识别 INSERT 或 UPDATE 是否是一个句子。

这一步我完全迷失了,我的大脑没有感觉到一种安全有效的方法来识别这两个句子中的哪一个。

我的第一个想法是使用主键进行比较......

值存在:更新

值不存在或为空:插入

但是,这是一个很弱的解决方案。例如,如果恶意用户在表单中发送 ID=5,则自动覆盖 ID 为 5 的用户。

我接受建议和解决方案,谢谢!

最佳答案

答案分两部分:

  • 你想要的 SQL 是

    INSERT(fields) VALUES() ON DUPLICATE KEY UPDATE...
  • 控制方法是发送一些其他唯一标识符,而不是 ID。在您的表中,将主键(自动递增)和“unique_id”随机字符串 md5() 设置为表中的唯一键。发送随机字符串作为标识符。然后根据该随机字符串进行更新。如果它不存在,它将创建一个新记录并自动增加一个主键。

  • 我会比这更深入地验证您是否期待"new"或“更新”,但这种方法似乎符合您的要求。

    关于PHP PDO : method to recognize automatically if a INSERT or UPDATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12152455/

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