根据换行符将文本存储在 MySQL 数据库的不同行中

storing text in different rows of MySQL database based on newline

HTML代码如下:

<div class="form-data">
    <form method="POST" action="test_upload_file.php" enctype="multipart/form-data">
      ID:<br>
      <input type="text" name="id"><br>                    
      Quote:<br>
      <textarea rows="4" cols="30" name="text-file"></textarea><br>
      <input type="submit" name="submit" value="Submit">
    </form>        
</div>

对应的php代码如下:

<?php

//connect database
$conn = mysqli_connect("localhost","root","","androidtest"); 

if (isset($_POST['submit'])) {
    $quote_id   = $_POST['id'];
    $text        = $_POST['text-file'];         

    //insert data
    $sql = "INSERT INTO quotes (quote_id, quote) VALUES ('$quote_id', '$text')";

    //store in the table
    $insert = mysqli_query($conn, $sql);              

    if ($insert) {                      
      echo "Success.";
    } else {
      echo "Error.";
    }

    //close mysql connection
    mysql_close($conn);

    //won't resubmit the form
    header("Location: " . $_SERVER['REQUEST_URI']);       
} 

?>

我想 post 在 textarea 中用换行符分隔多个句子。它们应该存储在 MySQL 数据库中的不同行中。
例如,如果我将 id 设置为 2 并且 post 包含多个句子的文本由换行符或换行符分隔,那么它应该像这样存储在数据库中:

quote_id 引用
2 第 1 行
2 第 2 行
2 第 3 行

试试下面的代码,它可能对你有帮助。我不确定下一行由'\n'分隔的textarea。请确保

//connect database
$conn = mysqli_connect("localhost","root","","androidtest");

if (isset($_POST['submit'])) {
    $quote_id   = $_POST['id'];
    $get_file   = $_POST['text-file'];
    $textArray = explode("\n", $get_file);
    foreach($textArray as $key=>$value) {
        //insert data
        $sql = "INSERT INTO quotes (quote_id, quote) VALUES ('$quote_id', '$value')";
        //store in the table
        $insert = mysqli_query($conn, $sql);
        if ($insert) {
            echo "Success.";
        } else {
            echo "Error.";
        }
    }
    //close mysql connection
    mysql_close($conn);
    //won't resubmit the form
    header("Location: " . $_SERVER['REQUEST_URI']);
}