PHP PDO bindValue不更新数据库

PHP PDO bindValue不更新数据库,php,pdo,Php,Pdo,有人能告诉我我做错了什么吗 如果我使用下面的代码,我可以更新数据库 $sUpdateSql = "UPDATE googleAnalytics SET $period = '$value' WHERE statisticName = '$item' "; $preparedStatement = $db->query($sUpdateSql); 但是,对于下面的语句,DB不会更新 $sUpdateSql = "UPD

有人能告诉我我做错了什么吗

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

            $sUpdateSql = "UPDATE googleAnalytics SET $period = '$value' WHERE statisticName = '$item' ";
            $preparedStatement = $db->query($sUpdateSql);
但是,对于下面的语句,DB不会更新

            $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();

删除问号周围的单引号

bindValue
处理对字符串的转义

仅供参考,您还可以命名您的参数

"SELECT * FROM foo WHERE id = :id"

bindValue('id', $id);

另外,在创建占位符时,不需要使用
引号
。OP并没有替换@Saty的列名。这两个语句不是都是PDO吗?只有一个绑定参数,另一个不绑定。@JayBlanchard!!谢谢你纠正我!!我会帮你的。