Php 文件内容是多行的吗?

Php 文件内容是多行的吗?,php,sql-server,tsql,file,Php,Sql Server,Tsql,File,文件内容是否保持换行符?我想是的,但我试过: if($conn){ $tsql = file_get_contents('scripts/CreateTables/SLR05_MATCH_CREATETABLES.sql'); $row = sqlsrv_query($conn, $tsql); print_r(sqlsrv_errors()); } 我得到的错误是SQL Server抱怨语法不正确。当我在没有任何换行符的情况下运行SQL脚本时,我也会遇到同样的

文件内容是否保持换行符?我想是的,但我试过:

if($conn){

    $tsql = file_get_contents('scripts/CreateTables/SLR05_MATCH_CREATETABLES.sql');

    $row = sqlsrv_query($conn, $tsql);

    print_r(sqlsrv_errors());

}
我得到的错误是SQL Server抱怨语法不正确。当我在没有任何换行符的情况下运行SQL脚本时,我也会遇到同样的错误,这表明file\u get\u contents会删除它们吗

当我正常运行脚本(在SQLServerManagementStudio中打开文件)并执行它时,它工作得非常好

那么,我是否可以使用一些东西来维护换行符等?或者,使用来自Microsoft的SQL Server PHP驱动程序的文件中的查询是否还有其他问题

感谢所有人的帮助

file\u get\u contents()确实保留了该文件。也许您的文件包含错误的“类型”换行符?Linux-vs-Windows风格


另外,我不熟悉sqlsrv_query()。。。可以使用它来运行多个查询(就像脚本一样),还是只运行单个查询,一次一个

尝试回显
$tsql
,您就会知道。@Gordon-回显到浏览器中不一定会确定它是否包含换行符。它将显示为一个文本块,因为浏览器仅使用

,因此存在
nl2br
。那么,将其回送到shell中?或者将
标记环绕在其周围?或者在浏览器中查看页面源代码?浏览器的页面源代码也不会告诉您任何信息。但问题已经解决了。谢谢。你可能有点道理,我不确定sqlsrv_query()是否可以执行多个查询。现在就知道了…不,不可能!感谢您的建议,我将不得不将脚本分解为多个查询,或者输入一个标识符,以便在新查询开始/结束时通知我。