Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从字符串php中转义php eol_Php_Sql_String_Escaping - Fatal编程技术网

从字符串php中转义php eol

从字符串php中转义php eol,php,sql,string,escaping,Php,Sql,String,Escaping,我想从数据库中选择转义字符串PHP\u EOL或双引号“\n” 我试过: <?php header("Content-Type: text/plain"); $str = 'Hello\nWorld!'; echo $str; sqlInsert("insert ... (str) values ('{$str}')"); 但当我想从数据库中获取它时: $str2 = sqlget("select ... str"); echo ''.$str2; 将

我想从数据库中选择转义字符串
PHP\u EOL
或双引号
“\n”

我试过:

<?php
    header("Content-Type: text/plain");
    $str = 'Hello\nWorld!';
    echo $str;
    sqlInsert("insert ... (str) values ('{$str}')");
但当我想从数据库中获取它时:

$str2  = sqlget("select ... str");
echo ''.$str2;
将:不工作

Hello
World!

有什么问题吗

SQL不能像PHP那样在单引号或双引号字符串中使用EOL

您可以选择/或:

1。在数据库中存储反斜杠:

您需要避开反斜杠:

$str = 'Hello\nWorld!';
echo $str ;
$str = str_replace('\\n','\\\\n',$str);
sqlInsert("insert ... (str) values ('{$str}')");
2。转换输出:

用literal
\n
替换换行符:

$str = get_from_sql(...);
$str = str_replace("\n", '\n', $str);

使用echo nl2br($str2);使用双引号$str=“Hello\nWorld!”;我想逃离新线!!!!
$str = get_from_sql(...);
$str = str_replace("\n", '\n', $str);