gpt4 book ai didi

php - pdo update 语句 - 在同一语句中保存和更新值?

转载 作者:行者123 更新时间:2023-11-29 13:21:31 24 4
gpt4 key购买 nike

我将用户最后和当前的 IP 地址/日期时间存储在数据库中。用户成功登录后,我将运行这两个准备好的语句。

出于好奇,有什么方法可以在一个语句中执行此操作吗?

lastIP = currIP, currIP = ?, dtLastLogin = dtCurrLogin, dtCurrLogin = UTC_TIMESTAMP() 由于其顺序而被允许吗?

// update user's last ip and last login date in db
$stmt = $db->prepare("UPDATE accounts SET lastIP = currIP, dtLastLogin = dtCurrLogin WHERE account_id = ?");
$stmt->execute(array($account_id));

// update user's current ip and current login date in db
$stmt = $db->prepare("UPDATE accounts SET currIP = ?, dtCurrLogin = UTC_TIMESTAMP() WHERE account_id = ?");
$stmt->execute(array($_SERVER['REMOTE_ADDR'], $account_id));

最佳答案

是的,使用 mysql,您可以在一个 sql 中完成此操作。

$stmt = $db->prepare("UPDATE accounts SET lastIP = currIP, currIP = ?, dtLastLogin = dtCurrLogin , dtCurrLogin = UTC_TIMESTAMP() WHERE account_id = ?");
$stmt->execute(array($_SERVER['REMOTE_ADDR'], $account_id));

但请注意顺序很重要

关于php - pdo update 语句 - 在同一语句中保存和更新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20778329/

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