PHP的MySQL的存储换行符在文本区域数据库(php mysql storing line bre

2019-08-01 03:46发布

我有一个输入文本区域,我想用来存储换行符,一个用户在数据库中的文本区域,使之相呼应的输出文本相同的方式,在输入文本

例如:

Some text some text some text some text


new line some text some text new line 

new line some text new line some text

这是我目前上传脚本:

$sql = "insert into people (price, contact, category, username, fname, lname, expire, filename) values (:price, :contact, :category, :user_id, :fname, :lname, now() + INTERVAL 1 MONTH, :imagename)";
$q = $conn->prepare($sql) or die("failed!");
$q->bindParam(':price', $price, PDO::PARAM_STR);
$q->bindParam(':contact', $contact, PDO::PARAM_STR);
$q->bindParam(':category', $category, PDO::PARAM_STR);
$q->bindParam(':user_id', $user_id, PDO::PARAM_STR);
$q->bindParam(':fname', $fname, PDO::PARAM_STR);
$q->bindParam(':lname', $lname, PDO::PARAM_STR);
$q->bindParam(':imagename', $imagename, PDO::PARAM_STR);
$q->execute();

Answer 1:

在文本区的换行是断行字符,如\n 。 这些都不是在HTML渲染,因此他们将不会显示出来,如果你简单地echo输出。 您可以在内部回声<textarea><pre>标签,或者您可以使用nl2br()来代替新线, <br>标签,以便它可以显示为HTML。



Answer 2:

您可以通过使用存储之前逃脱换行符mysql_real_escape_string

文档在这里: http://php.net/manual/en/function.mysql-real-escape-string.php



Answer 3:

你也可以使用JavaScript来打破文字\n to <br>使用替代

str.replace("\n", "<br />","g");


Answer 4:

我有同样的问题,这是现在的工作:

$query = "UPDATE your_table 
         SET your_text_field = 'line 1'" . '\n' . "'line2' 
         WHERE your_id_field = " . $id . "';";


文章来源: php mysql storing line breaks in text area in database