这个问题可能会被降级,但即使我无处可寻,我也无法找到解决方案。
我的php应用程序使用数据库来存储有关产品的信息。一切正常。产品表有一列“产品描述”。产品说明通过“ckeditor”保存。要保存的产品描述包含段落(其中两个)。直到这里没有任何问题。
当检索到记录时,段落消失并显示在一行中,没有任何段落。
For example This a paragraph 1 This a paragraph 2 This a paragraph 3
显示为 这是第1段\ r \ n \ r \ n这是第2段\ r \ n \ r \ n这是第3段
我尝试使用nl2br(),但这没有帮助。任何人都可以指出我做错了什么。
我按照要求添加以下代码
$sql = "INSERT IGNORE INTO products (productName, productDescription) VALUES(?,?,?)";
if($stmt = $connect->prepare($sql) )
{
$stmt->bind_param("ss", $productname, $productdescription);
if($stmt->execute())
{
echo "Product created";
$stmt->close();
}else{
die("Unable to create");
}
}else{
die("Unable to prepare statement.");
}
$connect->close();
}
}
我使用mysqli prepared语句将其保存到mysql db。
要检索:
while($row = $results->fetch_array())
{
extract($row);
echo "{$productName}";
echo "{$productDescription}";
}
答案 0 :(得分:1)
nl2br()正是您需要解决此问题的方法。也许您使用它的方式存在问题。你能不能包含一个不适合你的代码示例?
$description = "This a paragraph 1 \r\n\r\n This a paragraph 2 \r\n\r\n This a paragraph 3";
// this should output
// "This a paragraph 1 <br />\r\n<br />\r\n This a paragraph 2 <br />\r\n<br />\r\n This a paragraph 3"
echo nl2br($description);
请注意,这些不是段落,而是换行符。
在您的代码中检索更改此行:
echo "{$productDescription}";
到此:
echo nl2br($productDescription);