PHP/MYSQL: UPDATE 语句包含回车 returns 或新行

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

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

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

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

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

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

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

感谢您的任何建议。

你好,你可以这样试试

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

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