使用SQL同时更新两个字段语法

时间:2012-09-03 18:15:35

标签: php mysql sql sql-update

下面的代码给出了错误,我可能有错误的语法,我不知道在哪里。错误是:near '(``last_online``) VALUE ('now()) WHERE (users.id = 55)' at line 1

PHP代码:

   <?php 
include 'dbc.php';
session_start();
$user_ip = $_SERVER['REMOTE_ADDR'];

$id = $_SESSION['user_id'];

$sql_insert1 = "UPDATE `users` SET (`last_online`)
            VALUES
            ('now()) WHERE (users.id = $id)";

mysql_query($sql_insert1) or die("Insertion Failed:" . mysql_error());
$sql_insert2 = "UPDATE `users` SET (`users_ip`)
            VALUES
            ('$user_ip') WHERE (users.id = $id)";

mysql_query($sql_insert2) or die("Insertion Failed:" . mysql_error());

1 个答案:

答案 0 :(得分:3)

UPDATE语句的语法是:

UPDATE table
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]

因此,您应该使用以下内容来更新单个语句中的两个字段:

UPDATE `users` 
SET `last_online` = now(),
    `users_ip` = '$user_ip'
WHERE (users.id = $id)

VALUES语句中使用了{{1}}关键字。