PDO - UPDATE查询的语法无效

Dan*_*Dan 2 php sql pdo

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 '= time + '1' WHERE username = 'admin-test'' at line 1当我尝试执行以下查询时,我收到错误:

try
{
    $sth = $dbh->prepare("UPDATE alltimehighscores time = time + :time
        WHERE username = :username");
    $arr = array(
        ':username' => $username,
        ':time' => $time
        );
    $sth->execute($arr);
}
catch (PDOException $e)
{
    echo $e->getMessage();
    exit();
}
Run Code Online (Sandbox Code Playgroud)

$time$username值分配早些时候从$_GET.$dbh也在上面分配,这工作正常,因为上面有另一个查询执行正常.

查看错误消息,我可以看到time没有被更改为当前数据库值,因此我假设在使用PDO时必须有不同的方法.

gco*_*ard 6

你错过了一个SET

UPDATE alltimehighscores SET time = time + :time WHERE username = :username
Run Code Online (Sandbox Code Playgroud)