Lebannen
Новичок
День добрый, подскажите, пожалуйста, как разрешить такую ситуацию:
Имеется запрос
Нужно вытащить `персональный номер` и `отдел`, но из полного названия отдела я делаю его аббревиатуру, выглядит это так:
Массивы выводятся, все нормально, теперь мне нужно подставить эти значения из массива в запрос UPDATE. Делаю так:
Загвоздка в следующем: если заменить строку
на
, например, то запрос исполняется. А с моим массивом не работает...ошибка "Data too long for column 'departament_abbreviated' at row 1", что говорит о том, что в поле просто не вмещается эта запись и массив не разбился на индексы... Как мне тогда правильно подставить значения в запросе?
Если в цикле сделать запрос и вывести с помощью echo, то все получится, но нельзя ведь так нагружать apache, вот и пытаюсь обойти запрос в цикле...
Имеется запрос
PHP:
$select_table = mysql_query ("SELECT `person_number`, `departament` FROM `db_departament`");
PHP:
$abbr = array();
$pern = array();
while($row = mysql_fetch_assoc($select_table)) {
$cut = explode("(",$row['departament']);
$abbr[] = $cut[0];
$pern[] = $row['person_number'];
}
$array_dep = implode(",",$abbr);
$array_person_number = implode(",",$pern);
PHP:
$insert_departament_abbreviated = mysql_query("UPDATE db_departament SET departament_abbreviated = '$array_dep' WHERE person_number IN({$array_person_number})") or die (mysql_error());
PHP:
SET departament_abbreviated = '$array_dep'
PHP:
SET departament_abbreviated = '123'
Если в цикле сделать запрос и вывести с помощью echo, то все получится, но нельзя ведь так нагружать apache, вот и пытаюсь обойти запрос в цикле...
Последнее редактирование: