Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Uncaught TypeError. Php , mysqli

... Ученик (185), на голосовании 1 год назад
 include 'config/database.php'; 

$id = $_GET['id'];


// Проверьте, существует ли параметр ID в URL-адресе
if (!isset($_GET['id'])) {
exit('Идентификатор не указан!');
}

// Запрос MySQLI, который выбирает билет по столбцу ID, используя переменную запроса ID GET
if(isset($_GET['id'])){
$t = "SELECT * FROM tickets WHERE id = '$id'";
$t_res = mysqli_query($connection,$t);
$ticket = mysqli_fetch_assoc($t_res);
}

// Проверить, существует ли билет
if (!$ticket) {
exit('Invalid ticket ID!');
}

// ОБНОВИТЬ СТАТУС
if (isset($_GET['status']) && in_array($_GET['status'], array('open', 'closed', 'resolved'))) {
$status = $_GET['status'];
$t = "UPDATE tickets SET status = '$status' WHERE id = '$id'";
$t_res = mysqli_query($connection, $t);
header('Location: view.php?id=' . $_GET['id']);
exit;
}

// Проверьте, была ли отправлена форма для комментариев
if (isset($_POST['msg']) && !empty($_POST['msg'])) {
// Вставьте новый комментарий в таблицу "tickets_comments"
$ticket_id = $_GET['id'];
$msg = $_POST['msg'];

$t = "INSERT INTO tickets_comments (ticket_id, msg) VALUES ($ticket_id, $msg)";
$t_res = mysqli_query($connection, $t);
header('Location: view.php?id=' . $_GET['id']);
exit;
}

$t = "SELECT * FROM tickets_comments WHERE ticket_id = '?' ORDER BY created DESC";
$t_res = mysqli_query($connection, $t);
$comments = mysqli_fetch_assoc($t_res);
логика показа

 


()













//вот здесь ошибка выходит










форма показа Выходит такая ошибка и что-то не понимаю как исправить
Голосование за лучший ответ
Денис Романов Знаток (375) 1 год назад
В коде пропущен шаг, в котором необходимо получить список комментариев для данного билета. Это можно сделать путем выполнения запроса SQL и сохранения результата в переменной $comments.
Запрос к таблице "tickets_comments" необходимо выполнить с использованием подготовленных выражений и передачей параметра в качестве параметра, а не вставлять его непосредственно в строку запроса, чтобы предотвратить возможность SQL-инъекций.
В данном коде необходимо проверить, что переменная $comments не является пустой, перед проходом цикла, иначе foreach() вызовет ошибку.
 

()























EVK IT Сервис К Мыслитель (5226) 1 год назад
А какой кусок кода на 69 строке? Здесь не понятно
Похожие вопросы