Я обновил пост, так как внес небольшие изменения благодаря @ 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")
Ваше предложение / мнение всегда приветствуется, заранее спасибо, ребята!
3 ответа
$_SESSION['username']='$last_mod'
Вы обновляете поле $ _SESSION ['username'] в своей таблице, которое не существует! $ _SESSION ['username'] - это имя пользователя, а обновляемый столбец - last_mod.
Вы должны сделать это, как я сказал в своем комментарии:
UPDATE order.coupon SET last_mod='$last_mod' WHERE id='".$_POST['id']."'");
Это должно сработать для вас.
$last_mod = $_SESSION['username'];
$query = "INSERT INTO coupon(last_mod)
VALUES ($last_mod)";
Этот запрос, кажется, не имеет никакого смысла; так как насчет ...
$sql = "UPDATE `coupon` SET `last_mod` = NOW() WHERE `coupon_id` = ?";
Потому что он появляется, как будто вы пытаетесь вставить username
в качестве метки времени last_mod
(последняя модификация) купона. просто добавьте die($sql);
всякий раз, когда вы не уверены, почему сгенерированный SQL не будет работать. кроме того, было бы предложено использовать user_id
(или coupon_id
) вместо username
; потому что индексированные поля INT гораздо быстрее запрашивать.
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.