无法使用mysql_fetch_array获取多行文本


Cannot get multiline text using mysql_fetch_array

我无法将TEXT值作为多行:

PHP:

$mysql_conn = mysql_connect("host", "username", "password");
mysql_select_db("database", $mysql_conn);
$my_query = mysql_query("SELECT a, b FROM c WHERE a='example'", $mysql_conn);
$mysql_array = mysql_fetch_array($my_query);

HTML&PHP:

<p><?php echo $mysql_array["b"]; ?></p>

MySQL表结构c:

a = VARCHAR (100) ...
b = TEXT ...

c(仅包含1行(:

a的值(第一行(:
MyText

b的值(第一行(:
我的第一行
我的第二行
我的第三行
我的第4行

b是TEXT(没有varchar(,因此b支持多行。

当我检索b时,多行在空间中自动转换:

我的$mysql_array["b"]:输出

`My 1st line My 2nd line My 3rd line My 4th line`

您应该使用解决此问题

echo nl2br($result[msg]);

浏览器无法将'r'n识别为新行,因此必须将其转换为<br>

nl2br函数

使用nl2br将数据中的换行符更改为HTML <br>标记。

<p><?php echo nl2br($mysql_array["b"]); ?></p>

或者可以使用<pre>元素来保留所有原始格式。

<p><pre><?php echo $mysql_array["b"]; ?></pre></p>