[英]PDO insert and update stetement with if PHP
我的查询是:
$select_userid_query = execute_pdo_query("SELECT user_id FROM users WHERE username='" . $_COOKIE['username'] . "'");
if ($select_userid_query == 0){
execute_pdo_query("INSERT INTO user_status
(user_id,last_activity_time) VALUES
((SELECT user_id FROM users WHERE username='" . $_COOKIE['username'] . "'),NOW())"
, array($user_id, $last_activity_time));
}
else{
execute_pdo_query("UPDATE user_status SET user_id = (SELECT user_id FROM users WHERE username='" . $_COOKIE['username'] . "'),last_activity_time= NOW()", array($user_id, $last_activity_time));
}
我想验证数据库中是否有记录,如果没有插入,是否只是使用新的NOW()
更新了该记录的时间
任何想法我的语法错误在哪里?
如果user_id
是PRIMARY KEY
,则可以使用以下命令:
INSERT INTO ...... ON DUPLICATE KEY UPDATE last_activity_time=NOW()
如果您有一个唯一的user_id
,则可以使用以下单个查询来代替:
INSERT INTO user_status
(
user_id, last_activity_time
)
(
SELECT user_id, NOW()
FROM users
WHERE username='" . $_COOKIE['username'] . "'"
) ON DUPLICATE KEY UPDATE last_activity_time = NOW();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.