2017-02-21 53 views
0

查詢我的MSSQL數據庫和PHP7時遇到問題我使用新的Microsoft驅動程序。 我得到了以下錯誤: sqlsrv_query()預計參數1是資源,在/var/www/html/sqlFunctions.php空給出線路33使用PHP7 + Microsoft驅動程序無法查詢MSSQL數據庫

如果我把2個功能集中在一個功能它的工作原理 按照的Microsft例子它應該工作 https://docs.microsoft.com/nl-nl/sql/connect/php/step-3-proof-of-concept-connecting-to-sql-using-php

function OpenConnection() 
{ 
    try 
    { 
     $serverName = "devsql1"; 
     $connectionOptions = array(
      "Database"=>"test", 
      "Uid"=>"test", 
      "PWD"=>"test" 
      ); 
     $conn = sqlsrv_connect($serverName, $connectionOptions); 

     if($conn == false) 
      die(FormatErrors(sqlsrv_errors())); 
    } 
    catch(Exception $e) 
    { 
     echo("Error!"); 
    } 
} 

    function ReadData() 
{ 
    try 
    { 


     $conn = OpenConnection(); 

     $tsql = "SELECT [Corporatienaam] FROM tbl_Corporatie"; 
     $getProducts = sqlsrv_query($conn, $tsql); 
     if ($getProducts == FALSE) 
      die(FormatErrors(sqlsrv_errors())); 
     $productCount = 0; 
     while($row = sqlsrv_fetch_array($getProducts, SQLSRV_FETCH_ASSOC)) 
     { 
      echo($row['Corporatienaam']); 
      echo("<br/>"); 
      $productCount++; 
     } 
     sqlsrv_free_stmt($getProducts); 
     sqlsrv_close($conn); 
    } 
    catch(Exception $e) 
    { 
     echo("Error!"); 
    } 
} 
+0

'OpenConnection'不返回任何內容,所以'ReadData'的'$ conn'爲'null'。 –

回答

1

你的函數OpenConnection的不返回任何值,所以$connnull調用時。這應該修復它:

function OpenConnection() 
{ 
    try 
    { 
     $serverName = "devsql1"; 
     $connectionOptions = array(
      "Database"=>"test", 
      "Uid"=>"test", 
      "PWD"=>"test" 
      ); 
     $conn = sqlsrv_connect($serverName, $connectionOptions); 

     if($conn == false) 
      die(FormatErrors(sqlsrv_errors())); 
     return $conn; 
    } 
    catch(Exception $e) 
    { 
     echo("Error!"); 
    } 
} 
+0

謝謝,非常明顯。 –

+0

它發生了,在這裏提供幫助。 –

相關問題