我有一些 php 脚本在 mychar 字段中向保存在 MYSQL 中的字符串添加新行。
当我使用 mysqladmin 查看数据库时,我可以看到有多行的字段。它们不显示任何字符。无论创建新行是什么,它都是不可见的。
但是,当我尝试使用包含额外行的字符串更新现有字符串时,使用\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/