Один столбец в таблице не обновляется

Я пытаюсь обновить таблицу в своей базе данных. Он ищет строку по номеру HogId и обновляет строку. Обновятся все столбцы, кроме столбца PetName. Я проверил, переменная установлена, HogId правильный, и все столбцы соответствуют таблице. Что мне не хватает? Я еще не закончил, так как еще не сделал кое-какие меры безопасности.

<?php
session_start();
require_once('../mysqlconnect.php');

//ini_set('display_errors', 1);
//ini_set('display_startup_errors', 1);
//error_reporting(E_ALL);
?>

<?php

if (isset($_SESSION['HHAdminUserId'])&&isset($_SESSION['HHAdminName'])){     

    mysqli_query($link, "SET AUTOCOMMIT = 0");
        $PetName = $_POST['PetName'];
        $BirthDate = $_POST['BirthDate'];
        $Descriptors = $_POST['Descriptors'];
        $Sex = $_POST['Sex'];
        $Breeder = $_POST['Breeder'];
        $OwnedBy = $_POST['Owner'];
        $HogId = $_POST['HogId'];

        //All areas that need updated when HogId for a hedgehog changes
        if (isset($_POST['changeBreeder'])){
            $HogIdEx = explode("-",$HogId);
            $HogIdOld = $HogIdEx[0];
            $UpdatedHogId = $Breeder."-".$HogIdEx[1];

                $UpdateBasic = "UPDATE HedgehogBasic set HogId = '$UpdatedHogId' WHERE HogId = '$HogId' limit 1";
                $execUpdateBasic = @mysqli_query($link, $UpdateBasic);
                    if (!$execUpdateBasic){
                        rollback_die("The inquiry could not be completed because : ");
                            }else{
                                echo "Change in 'HedgehogBasic' table Successful!<br />";
                            }

                $UpdateTransfer = "UPDATE Transfer set HogId = '$UpdatedHogId' WHERE HogId = '$HogId'";
                $execUpdateTransfer = @mysqli_query($link, $UpdateTransfer);
                    if (!$execUpdateTransfer){
                        rollback_die("The inquiry could not be completed because : ");
                            }else{
                                echo "Change in 'Transfer' table Successful!<br />";
                            }
                $UpdateUnknownLine = "UPDATE UnknownLine set HogId = '$UpdatedHogId' WHERE HogId = '$HogId'";
                $execUpdateUnknownLine = @mysqli_query($link, $UpdateUnknownLine);
                    if (!$execUpdateUnknownLine){
                        rollback_die("The inquiry could not be completed because : ");
                            }else{
                                echo "Change in 'UnknownLine' table Successful!<br />";
                            }

                $UpdatePhotos = "UPDATE Photos set HogId = '$UpdatedHogId' WHERE HogId = '$HogId'";
                $execUpdatePhotos = @mysqli_query($link, $UpdatePhotos);
                    if (!$execUpdatePhotos){
                        rollback_die("The inquiry could not be completed because : ");
                            }else{
                                echo "Change in 'Photos' table for HogId Successful!<br />";
                            }

                function UpdateBreeding($BreedingCol, $UpdatedHogId, $HogId){
                global $link;
                $UpdateBreeding = "UPDATE Breeding SET $BreedingCol = '$UpdatedHogId' WHERE $BreedingCol = '$HogId'";
                $execUpdateBreeding = @mysqli_query($link, $UpdateBreeding);
                    if (!$execUpdateBreeding){
                        rollback_die("The inquiry could not be completed because : ");
                            }else{
                                echo "Change in 'Breeding' table for $BreedingCol Successful!<br />";
                            }
                }

                UpdateBreeding ('HogletHogId', $UpdatedHogId, $HogId);
                UpdateBreeding ('BoarHogId', $UpdatedHogId, $HogId);
                UpdateBreeding ('SowHogId', $UpdatedHogId, $HogId);


                $UpdatePhotosImg = "SELECT Link FROM Photos WHERE HogId = '$UpdatedHogId' ";
                $execUpdatePhotosImg = @mysqli_query($link, $UpdatePhotosImg);
                    if (!$execUpdatePhotosImg){
                        rollback_die("The inquiry could not be completed because : ");
                            }else{
                                while($one_row = mysqli_fetch_assoc($execUpdatePhotosImg)){
                                    $Link = $one_row['Link'];
                                    $UpdatedLink = str_replace("$HogIdOld","$Breeder","$Link");

                                $UpdatePhotosLink = "UPDATE Photos set Link = '$UpdatedLink' WHERE HogId = '$UpdatedHogId'";
                                $execUpdatePhotosLink = @mysqli_query($link, $UpdatePhotosLink);
                                    if (!$execUpdatePhotosLink){
                                        rollback_die("The inquiry could not be completed because : ");
                                            }else{
                                                echo "Change in 'Photos' table for Link Successful!<br />";
                                            }   
                                }
                            }

            $HogId = $UpdatedHogId;
            }

        $Update = "UPDATE HedgehogBasic SET BirthDate ='$BirthDate', Descriptors = '$Descriptors', Sex = '$Sex', Breeder = '$Breeder', OwnedBy = '$OwnedBy', PetName = '$PetName' WHERE HogId = '$HogId' Limit 1";
        $execUpdate = @mysqli_query($link, $Update);

    if (!$execUpdate){
        rollback_die("The inquiry could not be completed because : ");
            }else{
                echo "Update Successful!<br />";
            }
Ваш код уязвим для SQL-инъекций и будет взломан, даже если вы избегаете входов! Вместо этого используйте Подготовленные заявления.
Spoody 09.04.2018 21:12

Не используйте оператор @ и вместо этого устраняйте ошибки.

Spoody 09.04.2018 21:12

Вы пробовали var_dump($_POST);? или if (!isset($_POST['PetName'])) die('PetName not posted!');?

Syscall 09.04.2018 21:24

Я только что сделал: `array (7) {[" PetName "] => string (3)" Rey "[" BirthDate "] => string (10)" 2017-10-08 "[" Descriptors "] => строка (0) "" ["Пол"] => строка (6) "Женский" ["Заводчик"] => строка (3) "cmt" ["Владелец"] => строка (3) "cmt" ["HogId "] => string (40)" Имя питомца было изменено с Cmt Rey на Rey "}` Там написано, что оно есть?

Jennifer Chandler 09.04.2018 21:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
32
0

Другие вопросы по теме