PHP PDO bindValue不会更新数据库

时间:2016-01-14 13:37:54

标签: php pdo

有人能告诉我我做错了吗。

如果我使用下面的代码,我可以更新数据库。

            $sUpdateSql = "UPDATE googleAnalytics SET $period = '$value' WHERE statisticName = '$item' ";
            $preparedStatement = $db->query($sUpdateSql);

但是,使用下面的语句,数据库不会更新。

            $sUpdateSql = "UPDATE googleAnalytics SET $period = '?' WHERE statisticName = '?' ";
            $preparedStatement = $db->prepare($sUpdateSql);
            /* bind parameters for markers */
            $preparedStatement->bindValue(1, $value);
            $preparedStatement->bindValue(2, $item);
            $preparedStatement->execute();

1 个答案:

答案 0 :(得分:3)

删除问号周围的单引号。

bindValue处理转义字符串。

只是一个FYI,你也可以命名你的参数。

"SELECT * FROM foo WHERE id = :id"

bindValue('id', $id);