【问题标题】:Cannot get multiline text using mysql_fetch_array无法使用 mysql_fetch_array 获取多行文本
【发布时间】:2015-09-30 22:02:54
【问题描述】:

我无法将 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(第一行)的值:
我的文本

b(第一行)的值:
我的第一行
我的第二行
我的第三行
我的第四行

b 是 TEXT(无 varchar),所以b 支持多行。

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

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

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

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    你应该解决这个问题:

    echo nl2br($result[msg]);
    

    浏览器无法将\r\n 识别为换行符,因此您必须将它们转换为&lt;br&gt;。

    nl2br function

    【讨论】:

      【解决方案2】:

      使用nl2br 将数据中的换行符更改为HTML &lt;br&gt; 标记。

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

      或者您可以使用&lt;pre&gt; 元素来保留所有原始格式。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多