0

IIS と Microsoft SQL サーバーを使用して PHP サーバーをセットアップしました。どちらも同じ Windows Server 2008 マシンで実行されています。PHP で SQL Server データベースを使用したいので、Microsoft の SQLSRV ドライバーを PHP にインストールしました。

SQL Server インスタンスへの接続はコード内で正常に実行されますが、クエリを実行しようとすると機能しなくなります。PHP コードから実行しようとしているのと同じクエリが、SQL Server Manager などの他のプログラムでも機能しています。「USE dbname」のような単純なコマンドでさえ機能しませんが、SQL Server Manager からは機能します。

これは私が使用しているPHPコードです。コードを実行すると、接続済みと表示され、その後 DB の選択中にエラーが発生します。

$conn = sqlsrv_connect("TRANSIP-VPS\SQLEXPRESS");
if( $conn === false )
  { die( FormatErrors( sqlsrv_errors() ) ); }
echo "Connected ";
      $selectDB = sqlsrv_query( $conn, "USE Vitare");
      if($selectDB === false){
        die("ERror selecting DB");  
      }

$tsql = "CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)";
  $getProducts = sqlsrv_query( $conn, $tsql);
  if ( $getProducts === false)
        {
        echo "Error creating table";
        die( FormatErrors( sqlsrv_errors() ) ); }
echo "stuff";
$row = sqlsrv_fetch_array( $getProducts, SQLSRV_FETCH_ASSOC);
echo $row['username'];

'error selection DB' を出力する代わりに sql_srverrors() を実行すると、'Array' という単語しか表示されず、エラー メッセージも何も表示されません。

4

1 に答える 1

0

これを試してデータベースに接続してください:

$serverName = "TRANSIP-VPS\SQLEXPRESS";
$connectionInfo = array( "Database"=>"Vitare" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
于 2013-07-26T11:53:45.927 に答える