我正在尝试在我的一个查询中使用时间函数...我在下面的查询中添加自定义时区时间在我的DATETIME字段之一。
$upd_qry = "update tbl_quotes
set qu_status='".$_GET['status']."', qu_time= $getDatetimeNow
where _quid='".$_GET['quotes_id']."'";
$result=mysqli_query($mysqli,$upd_qry);
以及使用自定义时区获取时间的功能如下所示
function getDatetimeNow() {
$tz_object = new DateTimeZone('Brazil/East');
//date_default_timezone_set('Brazil/East');
$datetime = new DateTime();
$datetime->setTimezone($tz_object);
return $datetime->format('Y\-m\-d\ h:i:s');
}
但是我的查询无效......这有什么问题?
由于
答案 0 :(得分:1)
您需要将返回的函数值分配给另一个变量:
Resources > Cloud Platform Project
或直接打电话 - 如果您知道您不需要在其他地方使用它的价值 - 如下所示:
$getDatetimeNow = getDatetimeNow();
$upd_qry = "update tbl_quotes
set qu_status='".$_GET['status']."', qu_time=".$getDatetimeNow."
where _quid='".$_GET['quotes_id']."'";
$result=mysqli_query($mysqli,$upd_qry);
您需要使用prepared语句,因为您的代码容易受到SQL injection attacks的攻击:
"update tbl_quotes
set qu_status='".$_GET['status']."', qu_time=".getDatetimeNow()."
where _quid='".$_GET['quotes_id']."'"
答案 1 :(得分:0)
您不能使用变量等函数。函数与它们的参数一起使用。这意味着它们必须使用一个变量容器,如($ variable,$ anotherVariable)
这种表示法需要所有函数包含无参数。
$updateQuery = "UPDATE table_name SET field_name = " . functionName() . " WHERE id='" . (int) $_GET['id'] . "'";
$result = mysqli_query($mysqli, $updateQuery);