Как обновить строку с несколькими изображениями, которые имеют только одно изображение, вставленное первоначально в php

У меня есть таблица с идентификаторами столбцов, имидж и название организации. Сначала я вставил одно изображение для каждой организации, но мне нужно обновить его несколькими изображениями для каждой организации. Я использую php ver 5.4.16 и mysql ver 5.6.12.

Попробуйте использовать разделитель, например, используйте запятую и сохраните ее в таблице:

id image organization 1 path_to/img1.png org_name1 2 path_to/img1.png,path_to/img2.png org_name2 

и позже, после того, как вы извлечете запись, используйте функцию разрыва, чтобы извлечь ее в массив следующим образом:

 $images = explode(",", $data->image); 

PS: пожалуйста, дайте достаточно длины для поля изображения, например, дайте ему varchar (4000), чтобы убедиться в отсутствии усечения строки

Разделите таблицу на две части и используйте идентификатор вашей таблицы в качестве внешнего ключа в новой таблице изображений. («нормализация» и «отношения» должны быть вашими поисковыми тегами) https://en.wikipedia.org/wiki/Database_normalization

Или если вы не можете использовать json для вставки нескольких материалов. http://php.net/manual/en/book.json.php

Вам нужно добавить новую таблицу с именем «image» со столбцами:

 - id_img - image - ref_organisation_id (foreign_key) 

Лучшим решением, на мой взгляд, для вашей проблемы было бы слегка перепроектировать схему базы данных – существующая таблица не сможет хранить несколько изображений для одной и той же компании, судя по обзору таблиц, которые вы указали в вопросе.

Должна быть таблица для orgainisations и другая таблица для изображений, связанных с этими организациями. В таблице изображений будет ключ, который ссылается на таблицу организаций.

Очень быстро собрать примерную структуру базы данных

 +----+------------------+ | id | name | +----+------------------+ | 1 | ACME Web Company | | 2 | ACME ISP | +----+------------------+ +----+--------+------------+ | id | org_id | image | +----+--------+------------+ | 1 | 1 | logo.jpg | | 2 | 1 | banner.jpg | | 3 | 1 | badge.png | | 4 | 2 | logo.jpg | | 5 | 2 | banner.gif | +----+--------+------------+ create table if not exists `organisations` ( `id` int(10) unsigned not null auto_increment, `name` varchar(50) not null, primary key (`id`) ) engine=innodb auto_increment=3 default charset=utf8; insert into `organisations` (`id`, `name`) values (1, 'acme web company'), (2, 'acme isp'); create table if not exists `org_images` ( `id` int(10) unsigned not null auto_increment, `org_id` int(10) unsigned not null, `image` varchar(50) not null, primary key (`id`), key `org_id` (`org_id`), constraint `fk_org` foreign key (`org_id`) references `organisations` (`id`) on delete cascade on update cascade ) engine=innodb auto_increment=6 default charset=utf8; insert into `org_images` (`id`, `org_id`, `image`) values (1, 1, 'logo.jpg'), (2, 1, 'banner.jpg'), (3, 1, 'badge.png'), (4, 2, 'logo.jpg'), (5, 2, 'banner.gif');