【问题标题】:PHP insert into mysql cannot seem to get line breaks. I display in html the line breaks using . $var1 . PHP_EOL . inserts \r\n in the dataPHP 插入 mysql 似乎无法获得换行符。我使用 html 在 html 中显示换行符。 $var1 。 PHP_EOL 。在数据中插入 \r\n
【发布时间】:2021-10-22 02:29:27
【问题描述】:

插入时,我似乎无法在 mysql 描述表中将 4 行数据显示为 4 个单独的行。我明白了

AITS BARCODE: 80040602970001265369      MFG PN: 533-0017      MFG SN: C166089      QWERTY Keyboard ASSY, USB BACKLIT 

而不是换行符。如果我使用\r\n,则直接在数据之间插入(删除空格,替换为\r\n)。

我创建了一个测试表,并且能够使用

插入 3 个单独的行
$sql = "INSERT INTO test (DESCR) VALUES (CONCAT_WS(CHAR(10 using utf8), '$mfgpn', '$mfgsn', '$descr'))";

但是当我尝试对我的表做同样的事情时,它在 php 错误日志中给出了一个“using”错误。

我使用显示 4 个单独的行

<?php echo 'MFG PN: '. $mfgpn . '&#13;&#10;' . "MFG SN: " . $mfgsn . '&#13;&#10;'     . $descr; ?>

分隔符不像 PHP_EOL 那样放入 \r\n

获取数据并将 4 个变量作为 4 个单独的行插入表中的正确方法是什么?我已经绞尽脑汁了,因为这对我来说是新的。

这是 HTML 演示文稿:

AITS BARCODE: 80040602970001265368
MFG PN: 130211
MFG SN: ST4315041285
Sensor Processor Card Module, (Sunhillo/Longport)

这是数据库结果:

AITS BARCODE: 80040602970001265369      MFG PN: 533-0017      MFG SN: C166089      QWERTY Keyboard ASSY, USB BACKLIT  

(没有换行符,只有空格)。笔记。 PHP_EOL 用于 html 换行符会导致 \r\n 在双引号时插入到数据库中。请注意,html 区域是一个文本区域,如果这很重要的话。记录不匹配,但它是关于演示的,而不是数据本身(数据插入很好,除了我希望它完全按照网页上看到的那样插入)。

【问题讨论】:

  • 如果您在浏览器中查看源代码,您可能会看到换行符。问题是浏览器不会将它们作为新行处理,并忽略它。您需要使用nl2br 将换行符转换为&lt;br&gt;,以便换行符显示在您的页面上。
  • it gave a 'using' error ...究竟是什么错误?如果您没有明确说明错误,我们将无法提供帮助。
  • HTML 中的换行符是&lt;br/&gt; 而不是\r\n。我不明白为什么在那个例子中你是 HTML 编码 \r\n
  • 请不要再破坏我所做编辑的格式了吗?我正在努力帮助你。我已经回滚了。如果您看不到更改,请刷新您的页面。

标签: php mysql sql-insert line-breaks


【解决方案1】:

我在插入数据库时​​使用 php_eol 换行。将其拉回时,您需要执行 str_replace 以将数据库中的隐藏中断转换为您将其带回的 textarea 中的 php_eol。

$newdescr = (str_replace('&lt;br /&gt;', PHP_EOL, $mydescr));

我在使用 php_eol 时遇到的问题是,如果我使用了

$mysqli -&gt; real_escape_string(trim( $_POST['item_description']));

它会将 \r\n 插入数据库。所以我不得不使用

(trim( $_POST['item_description']));

然后我在数据库中得到了实际的中断。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 2023-03-26
    • 2023-02-06
    相关资源
    最近更新 更多