# Folour (08.05.2015 / 19:55)А можно одним закинуть кучу имён? Не знал...
Скобку пропустил, епт. Ты так говоришь, будто я должен был еще все тестами покрыть
И зачем каждое имя отдельным запросом?
# Folour (08.05.2015 / 19:55)А можно одним закинуть кучу имён? Не знал...
Скобку пропустил, епт. Ты так говоришь, будто я должен был еще все тестами покрыть
И зачем каждое имя отдельным запросом?
Macabre, почти. Добавил в свой код trim(). Как выше написали.
$sql = "INSERT INTO cat_tag (user,time,text) VALUES\n";
$names = array_map(function($name) use ($user_id, $realtime) {
return "($user_id, $realtime, '".trim($name)."')";
}, explode(',', preg_replace('~[^a-zа-я\ \-]~isu', '', $msg)));
mysql_query($sql.implode(",\n", $names)); # ValekS (08.05.2015 / 19:56)так:
А можно одним закинуть кучу имён? Не знал...
Можно еще короче, и без промежуточных переменных, но это быдлокод уже гг
mysql_query("INSERT INTO cat_tag (user,time,text) VALUES\n".implode(",\n", array_map(function($name) use ($user_id, $realtime) {
return "($user_id, $realtime, '".trim($name)."')";
}, explode(',', preg_replace('~[^a-zа-я\ \-]~isu', '', $msg))))); # ValekS (08.05.2015 / 19:56)Можно
А можно одним закинуть кучу имён? Не знал...
INSERT INTO table (field, field2, field3) VALUES
(1, 2, 3),
(4, 5, 6),
(7, 8, 9)Folour, 100500 скобок... Ох у тебя и код. Проще можно же сделать...
# Folour (08.05.2015 / 20:13)Вот так вот не работает как раз. Я гуглил перед тем как написал, чёт ничего там не нашел толкового. Пробовал вот такие комбинации - нифига.
Можно
INSERT INTO table (field, field2, field3) VALUES(1, 2, 3), VALUES(4, 5, 6), VALUES(7, 8, 9)
(field, field2, field3) - задает порядок полей, VALUES(1, 2, 3) - записывает значе
Всем спасибо, сделал так
$string = explode(',', $msg);
foreach($string as $msg) {
// Вставляем сообщение в базу
mysql_query("INSERT INTO `cat_tag` SET
`user` = '$user_id',
`time` = '$realtime',
`refid` = '$id',
`text` = '" . mysql_real_escape_string(trim($msg)) . "'
");
} Macabre, конечно одним запросом закинуть все имена реально лучше, но можно и так. Если будешь 2-3 имени добавлять всё норм будет. Проблемы могут быть когда пару сотен имён добавляться будут.