Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Своя функция при insert и select =\ (AlexanderTV) 24/02/2011 - 20:34:49
      Re: Своя функция при insert и select =\ (Akina) 28/02/2011 - 18:14:18
      Re: Своя функция при insert и select =\ (AlexanderTV) 02/03/2011 - 04:50:39



From: AlexanderTV - 24/02/2011 - 20:34:49
Subject:Своя функция при insert и select =\
-----------------
Подскажите...
Надо вставить в таблицу значение из другой таблицы, но обработанное функцией.
Есть массив
$arr = array('1'=>'a', '2'=>'b', '3'=>'c', '4'=>'d');
и функция

my_func($str)
{
$arr = array('1'=>'a', '2'=>'b', '3'=>'c', '4'=>'d');
return $arr[$str];
}

Вставляю без функции значения копируются
INSERT INTO `{$db_table_1}` (`col1`, `col2`, `col3`)
SELECT col1, col2, col3 FROM `{$db_table_2}`

Вставляю с функцией, все значения кроме обработанного функцией копируются.
INSERT INTO `{$db_table_1}` (`col1`, `col2`, `col3`)
SELECT '".my_func(col1)."', col2, col3 FROM `{$db_table_2}`

а сама функция не получает полученное значение, не обрабатывает, и выдает пустой результат.
Просто использовать функцию без значений получается.

my_func()
{
return 'abc';
}

INSERT INTO `{$db_table_1}` (`col1`, `col2`, `col3`)
SELECT '".my_func(col1)."', col2, col3 FROM `{$db_table_2}`

вставляется abc.

А вот передать значение выбранное select'ом не получается.
Хотя например такой запрос, с функцией даты работает.

INSERT INTO `{$db_table_1}` (`col1`, `col2`, `col3`)
SELECT '".date("Y-m-d")."', col2, col3 FROM `{$db_table_2}`

Вот =\








[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
38019



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |