由于@ user3282898进行了一些更改,因此我更新了该帖子!虽然我仍然无法将更新推送到数据库。
表列$id
,$issue
,$last_mod
已经存在,我只需要更新issue and
last_mod column with respect to its
$ id的内容`。
这是我到目前为止所拥有的:
<?php
session_start();
session_regenerate_id();
if(!isset($_SESSION['username']))
{
header("Location: login.php");
}
?>
<?php
$conn = mysqli_connect("localhost", "root", "", "order");
if (isset($_GET['id']) && is_numeric($_GET['id']))
{
//id value
$id = $_GET['id'];
$last_mod = $_SESSION['username'];
mysqli_query($conn, "UPDATE order.coupon SET issue='Resolved', last_mod=".$last_mod." WHERE id=".$_POST['id']) //update won't work
or die(mysqli_error());
header("Location: form.php");
}
else
{
header("Location: form.php");
}
?>
我尝试省略$last_mod
来隔离更新问题,并发现此语句有效:
mysqli_query($conn, "UPDATE order.coupon SET issue='Resolved' WHERE id=$id")
但是它不能与其中的$last_mod
一起使用:
mysqli_query($conn, "UPDATE order.coupon SET issue='Resolved', last_mod=".$last_mod." WHERE id=".$_POST['id'])
或
mysqli_query($conn, "UPDATE order.coupon SET issue='Resolved', last_mod=".$last_mod." WHERE job_id=$job_id")
总是欢迎您的建议/意见,谢谢大家!
答案 0 :(得分:0)
该查询似乎没有任何意义;那么...
$sql = "UPDATE `coupon` SET `last_mod` = NOW() WHERE `coupon_id` = ?";
因为它似乎出现,就像您要插入username
作为优惠券的last_mod
(最后修改)时间戳一样。只要不确定为什么生成的SQL无法正常工作,只需添加die($sql);
。另外,建议使用user_id
(或coupon_id
)代替username
;因为索引的INT字段可以更快速地查询。
答案 1 :(得分:0)
这应该为您工作。
$last_mod = $_SESSION['username'];
$query = "INSERT INTO coupon(last_mod)
VALUES ($last_mod)";
答案 2 :(得分:0)
$_SESSION['username']='$last_mod'
您正在更新表中的$ _SESSION ['username']字段,该字段不存在! $ _SESSION ['username']是用户名,要更新的列是last_mod。
您应该按照我在评论中所说的那样进行操作:
UPDATE order.coupon SET last_mod='$last_mod' WHERE id='".$_POST['id']."'");