Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 mssql_query()函数返回false_Php_Sql_Sql Server - Fatal编程技术网

Php mssql_query()函数返回false

Php mssql_query()函数返回false,php,sql,sql-server,Php,Sql,Sql Server,我想用Microsoft SQL Server 2012将文件读取为字符串。当我从SQL Management Studio运行代码时,它非常好,但从PHP函数失败:( 第一个查询是OK并返回true。 有什么想法吗?在查询失败后,请查看mssql\u get\u last\u message()的内容。这将告诉您发生了什么。(1)为什么要将它们分成两个查询?第二个查询应该失败,因为它不会在第一个查询中声明变量。(2)你希望D:/files/工作吗?我认为Windows资源管理器比其他应用程序更

我想用Microsoft SQL Server 2012将文件读取为字符串。当我从SQL Management Studio运行代码时,它非常好,但从PHP函数失败:(

第一个查询是OK并返回true。
有什么想法吗?

在查询失败后,请查看
mssql\u get\u last\u message()
的内容。这将告诉您发生了什么。(1)为什么要将它们分成两个查询?第二个查询应该失败,因为它不会在第一个查询中声明变量。(2)你希望
D:/files/
工作吗?我认为Windows资源管理器比其他应用程序更宽容。@MikeW它说:必须声明标量变量“@FileContents”。@AaaronBertrand我试过了,但它返回false。我添加了mssql\u get\u last\u message()现在它说:“你没有使用批量加载语句的权限。”耸耸肩,我不知道还能告诉你什么。SQL Server不会为了好玩而说“权限被拒绝”…我会从SQL Server方面验证用户名正在连接(你可以检查sys.dm_exec_sessions)。
$conn = mssql_connect($server, $user, $password);
    $query_1 = "DECLARE @FileContents VARCHAR(MAX);";
    var_dump($stmt_1 = mssql_query($query_1, $conn));
    $query_2 = "SELECT @FileContents = BulkColumn FROM OPENROWSET(BULK 'D:/files/some.dat',SINGLE_CLOB) BinaryFile;";
var_dump($stmt_2 = mssql_query($query_2, $conn));