【发布时间】: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 . ' ' . "MFG SN: " . $mfgsn . ' ' . $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 将换行符转换为
<br>,以便换行符显示在您的页面上。 -
it gave a 'using' error...究竟是什么错误?如果您没有明确说明错误,我们将无法提供帮助。 -
HTML 中的换行符是
<br/>而不是\r\n。我不明白为什么在那个例子中你是 HTML 编码\r和\n。 -
请不要再破坏我所做编辑的格式了吗?我正在努力帮助你。我已经回滚了。如果您看不到更改,请刷新您的页面。
标签: php mysql sql-insert line-breaks