Мне любопытно, почему этот код работает нормально:
function updateRecord($idFieldName, $recordID, $fieldName, $recordValue){
$dbConnection=$this->dbConnect();
$updated=false;
while (!$updated){
$query=$dbConnection->prepare("UPDATE $this->table SET $fieldName = :recordValue WHERE $idFieldName = :recordID");
$query->bindParam(":recordValue", $recordValue);
$query->bindParam(":recordID", $recordID);
$updated=$query->execute();
}
}
В то время как этот код не работает:
function updateRecord($idFieldName, $recordID, $fieldName, $recordValue){
$dbConnection=$this->dbConnect();
$updated=false;
while (!$updated){
$query=$dbConnection->prepare("UPDATE $this->table SET :fieldName = :recordValue WHERE $idFieldName = :recordID");
$query->bindParam(":fieldName", $fieldName);
$query->bindParam(":recordValue", $recordValue);
$query->bindParam(":recordID", $recordID);
$updated=$query->execute();
}
}
Я не понимаю, какие параметры могут быть связаны внеоператор запроса и какие из них должны быть включены непосредственно в оператор.