Я обновил пост, так как внес небольшие изменения благодаря @ 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")

Ваше предложение / мнение всегда приветствуется, заранее спасибо, ребята!

-1
David 21 Авг 2018 в 05:58

3 ответа

Лучший ответ
$_SESSION['username']='$last_mod'

Вы обновляете поле $ _SESSION ['username'] в своей таблице, которое не существует! $ _SESSION ['username'] - это имя пользователя, а обновляемый столбец - last_mod.

Вы должны сделать это, как я сказал в своем комментарии:

UPDATE order.coupon SET last_mod='$last_mod' WHERE id='".$_POST['id']."'");
0
bastien 21 Авг 2018 в 03:30

Это должно сработать для вас.

$last_mod = $_SESSION['username'];

$query = "INSERT INTO coupon(last_mod) 
VALUES ($last_mod)";
0
tim 21 Авг 2018 в 03:08

Этот запрос, кажется, не имеет никакого смысла; так как насчет ...

$sql = "UPDATE `coupon` SET `last_mod` = NOW() WHERE `coupon_id` = ?";

Потому что он появляется, как будто вы пытаетесь вставить username в качестве метки времени last_mod (последняя модификация) купона. просто добавьте die($sql); всякий раз, когда вы не уверены, почему сгенерированный SQL не будет работать. кроме того, было бы предложено использовать user_id (или coupon_id) вместо username; потому что индексированные поля INT гораздо быстрее запрашивать.

0
Martin Zeitler 21 Авг 2018 в 03:34
51940973