这是PHP函数中的一个简单的更新代码,通过来自前端的GET调用(不确定这是否重要),代码将特定时区值转换为unix时间戳 -
$oldDate = null;
$newDate = null;
$ctr = 0;
$timeStamp = array();
$query= $this->userDatabaseConnection->stmt_init();
$query->prepare("SELECT Timestamp from Transaction INNER JOIN `Order` ON `Order`.TransactionId = Transaction.TransactionId");
$query->execute();
$query->bind_result($tID); //this holds the current time zone values
while($query->fetch()){
$oldDate = $tID;
array_push($timeStamp, $oldDate);
}
$query->close();
foreach($timeStamp as $row){
$newDate = strtotime($row);
$queryUpdate= $this->userDatabaseConnection->stmt_init();
$queryUpdate->prepare("UPDATE `Order` SET OrderDate=? WHERE TransactionId=?");
error_log("ERROR!",0);
$queryUpdate->bind_param('is', $unixTS, $oldTS);
$unixTS = $newDate;
$oldTS = $row;
$queryUpdate->execute();
$queryUpdate->close();
$ctr++;
}
if($ctr == 88){
return true;
}
else{
return false;
}
}
$ctr
变量返回需要更新的总行数 - 等于正确的值,因此返回true到我的前端Angular控制器。
我尝试回显$newDate
和$row
值 - 它们似乎也是正确的。
但它只是不更新我的表。有人可以帮我找出原因吗?我在这里错过了什么吗?错误日志确实在我的Apache日志中显示了消息 - 但我似乎无法弄清楚导致它的原因。