PHP/MySQL : UPDATE Statement containing carriage returns or new lines

标签 php mysql carriage-return

我有一些 php 脚本在 mychar 字段中向保存在 MYSQL 中的字符串添加新行。

当我使用 mysqladmin 查看数据库时,我可以看到有多行的字段。它们不显示任何字符。无论创建新行是什么,它都是不可见的。 enter image description here

但是,当我尝试使用包含额外行的字符串更新现有字符串时,使用\n,它会将字段更新为空。我猜这是因为 mysql 在更新语句中不接受\n。

任何人都可以建议如何在 PHP 中准备一个字符串,以便在更新 MYSQL 中的字段时正确更新,即换行。\n 似乎不起作用。

$sql = "UPDATE comments SET comment = 'firstline\nsecondline\nthirdline' WHERE id = 23"

当您运行上面的语句时,它确实会更新该行,但注释字段为空。

感谢您的任何建议。

最佳答案

该语句被解析了 2 次:首先是 PHP,然后是我的 MySQL。 PHP 将 \n 替换为换行符,但 MySQL 似乎忽略了那些空白字符。通过将 \n 双重转义为 \\n,您可以实现 \n 字符序列由 MySQL 解析并作为换行符插入。

关于PHP/MySQL : UPDATE Statement containing carriage returns or new lines,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49338170/

相关文章:

php - 如何通过 PHP 传送以前 GZip 压缩的缓存 HTML 文件?

mysql - 将 SELECT 查询从 mySql 转换为 Laravel 查询生成器

php - jquery ui自动完成html表单多输入类型和mysql

java - 我如何使多个replace() java

段落文本中的 Knockout.js 回车

php - 使用 GraphicsMagick 编辑图像并使用控制台或 PHP 将它们直接保存到 S3

php - 糟糕的 Laravel 升级错误

php - PHP 中的 "SHOW COLUMNS"查询未显示第一行

php - 更新失败 : Select Command Denied for User (vahejaba @ localhost)

python - 在 mac 上覆盖 python 3.x 中的打印行