-1

我正在使用以下代码来节省时间。我尝试将列类型更新为 DATETIME 和 TIMESTAMP

$statement = $conn->prepare('UPDATE users SET update = :update WHERE id = :clientId');
                $statement->bindParam(':clientId', $clientId, PDO::PARAM_STR);
                $statement->bindParam(':update', time(), PDO::PARAM_STR);
                $statement->execute();


{"error":"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update = '1367692928' WHERE id = 'I9pm90r-b4'' at line 1"}
4

1 回答 1

0

update是保留关键字,恰好是您的列的名称。为了避免语法错误,应使用反引号对列名进行转义。前任,

UPDATE users SET `update` = :update WHERE id = :clientId

如果您有权更改表,请更改不在保留关键字列表中的列名,以防止将来再次出现相同的错误。

于 2013-05-04T18:44:43.427 回答