2013-10-08 7 views
0

내 사이트 및 mssql 데이터베이스와의 연결을 설정하려고합니다. 데이터베이스에 연결할 수는 있지만 SQL 쿼리를 실행할 수 없습니다. 내 코드이 코드는 오류를PHP mssql_connect() Azure 데이터베이스에

Reference to database and/or server name in 'my_database.dbo.table' is not supported in this version of SQL Server. 

을 보여줍니다하지만 온라인이 쿼리를 실행할 때, URL을 관리하고,이 오류가 발생하지 않습니다 링크

$connection = mssql_connect('jass8l1.database.windows.net', 'username', 'password'); 
     if (!$connection){ 
      print_r(mssql_get_last_message()); 
     }else{ 

      $res= mssql_query('SELECT * FROM [my_database].[dbo].[table]', $connection); 
      print_r(mssql_get_last_message()); 
      $row = mssql_fetch_array($res); 

      echo $row[0]; 

     } 

입니다. 이 문제를 어떻게 해결할 수 있습니까? PHP 용 추가 드라이버가 필요합니까?

+0

정규화 된 테이블 이름없이'SELECT * FROM table'을 시도 했습니까? –

+0

예,'SELECT * FROM table'을 시도하면 '잘못된 객체 이름 'table'이 생깁니다. ' –

답변

3

오류 메시지는 그 이상의 설명이 될 수 없습니다!

[DB_NAME]. [SCHEMA]. [TABLE_NAME]. [COLUMN]. SQL Azure에서는 항상 3 단어 표기법 (예 : [SCHEMA])을 사용해야합니다. [표]. [COLUMN]). SQL 애저에 대한

뭔가 더 당신이 명시 적으로 관련 데이터베이스를 설정할 필요가있다. 당신은 SQL 애저에 USE [DB_NAME]하지 수 있습니다.

과 함께 SQL 애저를 사용하는 경우입니다

PHP How to: Connect to Windows Azure SQL Database from PHP을 방문하는 것이 좋습니다.

conn 같은 뭔가 ection은 :

$serverName = "tcp:ProvideServerName.database.windows.net,1433"; 
    $userName = '[email protected]'; 
    $userPassword = 'ProvidePassword'; 
    $dbName = "TestDB"; 
    $table = "tablePHP"; 

    $connectionInfo = array("Database"=>$dbName, "UID"=>$userName, "PWD"=>$userPassword, "MultipleActiveResultSets"=>true); 

    sqlsrv_configure('WarningsReturnAsErrors', 0); 
    $conn = sqlsrv_connect($serverName, $connectionInfo); 
    if($conn === false) 
    { 
    FatalError("Failed to connect..."); 
    } 

또한, 강하게 마이크로 소프트의 MS SQL 드라이버를 사용하는 것이 좋습니다과 MSSQL 제공하는 표준 PHP는 (사용법도에서 함) 없습니다.

관련 문제