Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Обновление строк в таблице БД
Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2016
Помог: 0 раз(а)
Здравствуйте, у меня проблема такая. Есть таблица, куда я добавляю данные через файл insert-ом 1 раз, далее нужно просто обновлять строки, где поменялись значения. Структура таблицы ниже, надо обновить поля ip, ping, hostname, ports, mac. Я знаю как обновить одну строку, но как реализовать это для всех строк? Прикреплено изображение (Нажмите для увеличения)
3d_killer
Отправлено: 06 Ноября, 2016 - 16:01:39
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
циклом (Добавление)
или в запросе использовать IN или пересмотреть условие WHERE
shonny
Отправлено: 06 Ноября, 2016 - 16:22:27
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2016
Помог: 0 раз(а)
3d_killer пишет:
циклом (Добавление)
или в запросе использовать IN или пересмотреть условие WHERE
Вот функция вставки, а через update можно как-то реализовать для всех строк?
Выводит такие ошибки:
Notice: Undefined offset: 4 in F:\xampp\htdocs\PhpProject1\update.php on line 6
Notice: Undefined offset: 3 in F:\xampp\htdocs\PhpProject1\update.php on line 6
Notice: Undefined offset: 2 in F:\xampp\htdocs\PhpProject1\update.php on line 6
Notice: Undefined offset: 1 in F:\xampp\htdocs\PhpProject1\update.php on line 6
Как их исправить?
3d_killer
Отправлено: 08 Ноября, 2016 - 16:39:16
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
shonny пишет:
UPDATE FROM ip2 SET Ping=$Ping
данный запрос обновляет всю таблицу (Добавление)
shonny пишет:
UPDATE ip2 SET Ping
а если повнимательнее посмотреть на мой запрос, разве я так писал? (Добавление)
если у вас данные разные и читаются от сюда ip2.csv, то обновлять надо не всю таблицу, а с каким либо условием
LIME
Отправлено: 08 Ноября, 2016 - 16:53:10
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
3d_killer надо вообще все переписать
Вообще все
Начиная от конфигов
Использовать объекты читатели/писатели
Иначе придется в каждое место копипастить
Но это все лирика
По сабжу
3d_killer пишет:
UPDATE FROM
ты походу теоретик и не пишешь код
Какой такой еще фром
Перепиши
3d_killer
Отправлено: 08 Ноября, 2016 - 17:51:02
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
LIME не я не теоретик, случайно видать, да действительно ошибся
$STH = DB::DBH()->prepare("UPDATE ".PDB."catalog_property_to_directory SET position=:position WHERE directory_id=:directory_id AND property_id=:property_id");
(Добавление)
по поводу переписать да, идет такое обновление идет, тут раз ошибка и выкинуло нафиг с ошибкой, пол базы обновилось, половина нет
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
3d_killer + что признал а не полез в бутылку
По твоему примеру
Тоже не лучший вариант
Совсем плохой если честно
Не используй имя схемы
Не все субд это разрешают
Даже в случае мускула например хостинг джино это не позволит
Лучше юзать абстракцию орм
Например доктрину
Тогда и перейти проще будет ... и много еще плюсов
Ну... если интересно просто грабли пройдены были
3d_killer
Отправлено: 08 Ноября, 2016 - 17:56:47
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
по поводу имя схемы поясни, ты имел в виду префикс? типо ".PDB."?
LIME
Отправлено: 08 Ноября, 2016 - 18:01:11
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Да
Я подумал это имя схемы
Даже если нет это не отменяет совета выше (Добавление)
А если да то плохо что в настройках приходится добавлять точку
3d_killer
Отправлено: 08 Ноября, 2016 - 18:02:54
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011 Откуда: Ростов-на-Дону
Помог: 21 раз(а)
это просто префикс в подключении указан при инсталле
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.