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' という単語しか表示されず、エラー メッセージも何も表示されません。