[英]Sql table not formatted correctly
当字符串中包含控制字符时,MySQL的输出格式无法正常工作。 它期望字符串中的每个字符在输出中占据一个水平空间,但是换行符会到达该行的开头。
您可以使用以下命令将换行符显示为转义序列:
SELECT username, REPLACE(comment, '\n', '\\n') AS comment, id
FROM comments;
如果输入来自Windows,也可能有回车符,它们会返回到当前行的开头。 您也可以将其替换为:
SELECT username, REPLACE(REPLACE(comment, '\n', '\\n'), '\r', '\\r') AS comment, id
FROM comments;
您只需使用mysqli_real_escape_string()即可转义所有字符。
$sql="insert into comments (username, comment) values ('".mysqli_real_escape_string($name)."','".mysqli_real_escape_string($comment)."')";
mysqli_query($link, $sql);
要么
$name = $mysqli->real_escape_string($name);
$comment = $mysqli->real_escape_string($comment);
$sql="insert into comments (username, comment) values ('$name','$comment')";
mysqli_query($link, $sql);
手册: http : //php.net/manual/de/mysqli.real-escape-string.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.