Задать вопрос
@viktorross

Не работает скрипт php?

здравствуйте, кто-нибудь может мне прояснить возникшую проблему

скрипт должен обновлять данные в таблице по unique_id, но unique_id в таблице mysql нет

вот часть кода на которую в логе показана ошибка

if ($this->uid && $parsed_array["id"]) {
            $uid_exists = $db->fetchRow("select `id` from " . TABLE_ADS . " where `unique_id` = '" . $parsed_array["id"] . "'");
            if ($uid_exists) {
                if ($this->no_duplicates) {
                    return NULL;
                }
                $sql_str = "update " . $this->table . " set ";
                $where = " where `unique_id` = '" . $parsed_array["id"] . "'";
            }
        }


интересно то, что unique_id в таблице быть не должно, так как это работает? я не совсем понимаю что-то, кто нибудь может объяснить?
  • Вопрос задан
  • 473 просмотра
Подписаться 2 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Самое логичное предположение:
В принципе код должен проверять данные из какого-то парсинга(не суть какого), в котором есть свои значения, отвечающие за уникальность товарной единицы(?), например артикул или штрихкод, проверять поле unique_id, в которое оно вносится, и если таковое уже есть делать апдейт. Все бы шло хорошо(ну, в меру, код действительно такой себе), но какой-то вася отвечающий за разработку бд это поле тупо пропустил при создании, а может похерилось при переносе, или из бэкапа не ту версию подняли, короче это текстовое поле ушло в горы.

Выход - добавьте поле в таблицу сами(только бэкапы сделайте), скорее всего что то типа:
ALTER TABLE `tablename` ADD `unique_id` VARCHAR(24) NULL , ADD INDEX (`unique_id`);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽