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 解析并作为换行符插入。
我有一些 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 解析并作为换行符插入。