繁体   English   中英

PDO使用PHP插入和更新stetement

[英]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_idPRIMARY 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM