PDO更新查询

时间:2013-11-27 13:59:19

标签: php mysql pdo

编辑:修正了,某些变量出了问题,现在工作正常!

工作代码:

if($q = $this->pdo->prepare("UPDATE `ba_keys` SET `times_used` = :used WHERE `betacode` = :beta"))
    {
        $q->bindValue(':used', 90);
        $q->bindValue(':beta', $betacode);
        if($q->execute())
        {
            return 'Execution done.';
        } else {
            return 'Execution failed.';
        }
    } else {
        return 'Query preparing failed.';
    }

1 个答案:

答案 0 :(得分:1)

您在Prepared Statement中不需要单引号。 PDO将为您处理。你的代码应该是:

$q = $this->pdo->prepare("UPDATE `ba_keys` SET `times_used` = :used WHERE `betacode` = :beta");
$q->bindValue(':used', 90);
$q->bindValue(':beta', $betacode);
$q->execute();

您可能还希望考虑从您的函数返回$q->execute()的结果,以确保完整性。