Как мне обновить значение status
с текущей датой и временем после нажатия кнопки "завершить"?
Пример:
Статус = 05/05/2019 8:54 утра
Пока это то, что я пробовал:
<?php
if(isset($_POST['completed']))
{
$msg = "Completed";
$status = $_POST['completed'];
}
$reqnumber=$_POST['reqnumber'];
$con = mysqli_connect('localhost', 'root', '');
mysqli_select_db($con, 'pcrequest');
$sql = "UPDATE request SET status = '$status', status = 'date('Y-m-d H:i:s');' WHERE reqnumber = '$reqnumber'";
if(mysqli_query($con, $sql))
header("refresh:1; url=messages.php?msg=$msg");
else
var_dump(mysqli_error($con));
?>
Вы пытаетесь установить "статус" дважды. Эта точка с запятой и вложенные одинарные кавычки могут также вызвать некоторые проблемы, когда у вас есть функция date()
.
Я бы рекомендовал установить дату вне запроса и вставить ее как переменную, например так:
$now = date('Y-m-d H:i:s');
$sql = "UPDATE 'request'
SET 'status' = '$now'
WHERE 'reqnumber' = '$reqnumber';";
$reqnumber
уязвим для внедрения SQL.
request
? Вы хотите обновить все его строки?UPDATE request SET status = NOW() WHERE ...
это лучший способ.