MySQL从textarea插入到多行

时间:2016-06-08 20:03:54

标签: php mysql textarea

我有一个简单的表单,它是一个textarea,我需要将我的textarea中的每一行插入MySQL中的不同行。

HTML code:

<html>
<form method="POST" action="insert.php">
<textarea name="url" rows="10" ></textarea>
<input type="submit" name="submit" value="Enter">
</form>
</html>

PHP代码:

<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
      die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('insert', $link);
if (!$db_selected) {
     die ('Can\'t use this database : ' . mysql_error());
}
$textarea = mysql_real_escape_string($_POST['url']);
$array = explode("\n", $textarea);
$i=0;
$value = trim($array[$i]);
if (!empty($value)) {
     foreach ($array as $value) {
          mysql_query("INSERT INTO test (text) VALUES ('{$array[$i]}')") or       die(mysql_error());
          $i++;
     }
}
mysql_close($link);
?>

目前,当我提交表格时,我会将textarea存储在一行。你可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:3)

试试这个:

$text = trim($_POST['textareaname']);
$textAr = explode("\n", $text);
$textAr = array_filter($textAr, 'trim'); // remove any extra \r chars

foreach ($textAr as $line) {
    // Your sql Query here with $line as the string.
} 

答案 1 :(得分:2)

这应该有效:

$textarea = mysql_real_escape_string($_POST['url']);
$array = explode("\n", $textarea);
foreach ($array as $value) {
    mysql_query("INSERT INTO test (text) VALUES ('".$value."')") or die(mysql_error());
}