0

первый файл(update_category.php)

<?php
         if(isset($_POST['update_category'])) {
           $new_cat_title = $_POST['cat_title'];
           $query = "UPDATE categories SET cat_title = '{$new_cat_title}' WHERE cat_id = {$update_cat_id}";
           $update_query = mysqli_query($connection, $query);
           if(!$update_query) {
             echo "Query failed" . mysqli_error($connection);
           }
         }
          ?>

второй файл

if(isset($_GET['update'])) {
                          $update_cat_id = $_GET['update'];
                          include "update_category.php";
                        }
  • Не, у меня совсем другое. Я делаю свою CMS. Не думаю, что админ будет sql инъекции делать) – Василий Пеликан Apr 15 '18 at 11:29
  • Все что я скинул - это часть панели админа – Василий Пеликан Apr 15 '18 at 11:30
  • Не думаю, что админ будет sql инъекции делать, а не надо так думать, это неправильный подход. – Visman Apr 15 '18 at 11:33
  • В любом случае, я прохожу курс на Udemy, поэтому весь этот код написан по моим пройденным там урокам. До sql инъекций я еще не дошел, поэтому и пишу криво. Понимаете, это не реальный проект, а просто отработка пройденного материала. – Василий Пеликан Apr 15 '18 at 11:37
  • Я не знаю что такое Udemy. И если они так преподают, уча плодить дыры в безопасности, то и не хочу знать. – Visman Apr 15 '18 at 11:40
  • Можете загуглить. Udemy - онлайн платформа, где каждый человек может стать учителем, а его курс покупают или получают бесплатно обычные пользователи. В любом случае я не планирую на этом останавливаться. Это так, для общего развития. Потом хочу закрепить книгой дмитрия котерова. Кстати, вы читали? – Василий Пеликан Apr 15 '18 at 11:43

1 Answers1

0

Проверьте, существуют ли реально $_POST['update_category'] и $_GET['update'].

Сделайте правки на запрос с подготовленным выражением (prepared statements):

$stmt = mysqli_prepare($connection, 'UPDATE categories SET cat_title = ? WHERE cat_id = ?');
mysqli_stmt_bind_param($stmt, 'sd', $new_cat_title, $update_cat_id);
mysqli_stmt_execute($stmt);
RaZik
  • 2,221
  • Да, я проверил. Существуют. Я вообще по курсу на udemy занимаюсь.Там вроде также сделано, но у меня где-то ошибка – Василий Пеликан Apr 15 '18 at 11:26
  • @Visman, согласен. Внес правку. Спасибо за замечание – RaZik Apr 15 '18 at 11:37