我有一些php脚本,它在mychar字段中的MYSQL中保存的字符串中添加了一个新行。
当我使用mysqladmin查看数据库时,我可以看到有多行的字段。它们不显示任何字符。无论创造新线路是什么都是看不见的。
但是,当我尝试使用包含额外行的字符串更新现有字符串时,使用\ n,它会将该字段更新为空。我猜这是因为mysql在更新语句中不接受\ n。
任何人都可以建议如何在PHP中准备一个字符串,以便在更新MYSQL中的字段时,它可以正确更新,即使用新行。 \ n似乎不起作用。
$sql = "UPDATE comments SET comment = 'firstline\nsecondline\nthirdline' WHERE id = 23"
运行上述语句时,它会更新该行,但注释字段为空。
感谢您的任何建议。
答案 0 :(得分:1)
您好,您可以尝试这样
$data = 'firstline\nsecondline\nthirdline';
$sql = "UPDATE comments SET comment = $data WHERE id = 23"
答案 1 :(得分:1)
该语句被解析2次:首先是PHP,然后是我的MySQL。
PHP用换行符替换\n
,但MySQL似乎忽略了那些空白字符。通过双重转义\n
到\\n
,\n
字符序列由MySQL解析并作为换行符插入。