как добавить несколько строк в MySQL за 1 раз пример создаём поле <textarea name="textarea"></textarea> в нем через ENTER я добавляю любой текст и после нажатия на кнопку эти 5 строк добавляются в MySQL как 5 разные строки со своим id и т.д..... я просто не могу понять как разделить post на цикл... в общем запутался. помогите результат
PHP: <?php $a = explode("\n", $_POST['textarea']); foreach($a as $k=>$v) { $sql = "INSERT INTO table(text) VALUES('" . $v . "')"; // выполнение самого запроса } ?>
а как добавить ограничение ... например если кто-то добавит 1000 и сервер будет сильно грузить..как мне поставить норму.. не менее 1 и не более 100 ?
Ну как нибудь так: PHP: <?php $a = explode("\n", mysql_escape_string($_POST['textarea'])); // Проверка что бы не меньше одного и не больше 100 if(!empty($a) && count($a) < 100){ $sql = null; foreach($a as $value) { // Не фиг 100 раз вызывать инсерт, если можно его вызвать один раз. $sql .= "('" .$value. "'), "; } $sql = "INSERT INTO table(text) VALUES ".rtrim($sql, ', '); // выполняем запрос. } ?>
получаю [sql]INSERT INTO table(text) VALUES ('AddText 1\r\nAddText 2\r\nAddText 3\r\nAddText 4\r\nAddText 5')[/sql] что при добавлении выдает ошибку
Попробуй $a = explode("\n", mysql_escape_string($_POST['textarea'])); заменить на $a = explode("\r\n", mysql_escape_string($_POST['textarea']));
Хотя стоп ошибся падонаг Короче ставим: $a = explode("\n", $_POST['textarea']); А проверку на кавычки тогда при добавлении сделаешь.