有人能告诉我我做错了吗。
如果我使用下面的代码,我可以更新数据库。
$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();
答案 0 :(得分:3)
删除问号周围的单引号。
bindValue
处理转义字符串。
只是一个FYI,你也可以命名你的参数。
"SELECT * FROM foo WHERE id = :id"
bindValue('id', $id);