2016-11-02 5 views
0

아래 코드에서 나는 azure-sql 데이터베이스에 PHP로 연결을 시도하고 if의 첫 번째 부분에서 연결이 실패하면 쓰기를합니다. 받다. 다음으로, 연결이 성공하면 메시지를 출력합니다 ("Connection succeeded"). 이것은 올바르게 연결하는 것으로 보입니다. 그러나, 분명히 else의이 부분에 닿아도 출력은 0입니다. 연구에서 0으로 성공했는지는 알 수 없지만 연결에 실패하면 if의 첫 번째 부분에 충돌하지 않습니까?Azure-SQL 데이터베이스에 PHP 연결

문제는이 코드가 문자열에 추가 된 배열 열을 출력하지 않아서 성공으로 등록하는 동안 실제로 실패하거나 구문과 같이 잘못된 것으로 보입니다.

<?php 

    /// Test variable 
    $writeOutResult = "Result: "; 

    /// VARIABLES NOT INCLUDED 

    /// Connect 
    $connInfo = array("Database"=>$azureDB 
      , "UID"=>$azureUser 
      , "PWD"=>$azurePass 
      , "MultipleActiveResultSets"=>true 
     ); 
    $conn = sqlsrv_connect($azureServer,$connInfo); 

    /// Test connection 
    if($conn === false) 
    { 
     //FatalError("Server unavailable."); 
     $writeOutResult = "Connection failed."; 
    } 
    else 
    {  
     echo "Connection succeeded"; 
     $get = sqlsrv_query($conn,$query); 

     while ($row = sqlsrv_fetch_array($get, SQLSRV_FETCH_ASSOC)) 
     { 
      $writeOutResult += $row["Column"]; 
     } 
    } 
?> 
<html> 
<head><title></title></head> 
<body> 
<p>Output:</p> 
<?php 
    echo $writeOutResult; 
?> 
</body> 
</html> 
+0

'$ query' 변수가 유효한 SQL 문인지 확인 했습니까? SSMS에서 '$ query' stmt를 직접 사용하여 데이터를 쿼리 할 수 ​​있습니까? –

답변

0

PHP에는 명백한 오류가없는 것으로 보입니다. 나는 내 편에서 테스트를했는데 잘 돌아갔다.

다음과 같은 원인이있을 수 있으므로 하나씩 확인할 수 있습니다.

  • 올바른지 여부를 확인하기 위해 SQL 쿼리 stmt를 확인하십시오. 확인을 위해 SSMS에서 쿼리 할 수 ​​있습니다.

  • 값과 데이터 유형을 확인하십시오. 그것이 플러스 일 수 있는지 여부.

더 궁금한 점이 있으면 언제든지 알려주세요.