-1

PHPに問題があります。MSSMS から DB に直接クエリを実行できますが、Web ページはすべてサーバーに接続されません。

SQL Server 2016

PHP バージョン 5.2.4 サンプル:

$DatabaseServer =   'server';
$DatabaseUser =     'reader';
$DatabasePassword = ''; 
$DatabaseName =     'FSDBMV';   

$SQL_db = @mssql_connect($DatabaseServer,$DatabaseUser,$DatabasePassword)     or die("Unable to connect to Database server");
mssql_select_db("$DatabaseName");

$Sql = " SELECT   [CustomerID]
    ,[CustomerName]
    ,[CSR]
    ,[CommissionCode]

    FROM [FSDBMV].[dbo].[FS_Customer] as C
4

1 に答える 1

1

説明:

まず、エラー制御演算子@を削除し、 mssql_get_last_message()でエラーをチェックします。次に、 mssql_query()を使用してステートメントを実行します。

例:

<?php
# Settings
$DatabaseServer   = 'server';
$DatabaseUser     = 'reader';
$DatabasePassword = ''; 
$DatabaseName     = 'FSDBMV';   

# Connection
$SQL_db = mssql_connect($DatabaseServer, $DatabaseUser, $DatabasePassword);
if ($SQL_db === false) {
    echo "Error (mssql_connect): ".mssql_get_last_message();
    exit;
}
if (!mssql_select_db($DatabaseName, $SQL_db)) {
    echo "Error (mssql_select_db): ".mssql_get_last_message();
    exit;
};

# Query
$Sql = "
    SELECT
    [CustomerID]
    ,[CustomerName]
    ,[CSR]
    ,[CommissionCode]
    FROM [FSDBMV].[dbo].[FS_Customer] as C
";
$stmt = mssql_query($Sql, $SQL_db);
if (!$stmt) {
    echo "Error (mssql_query): ".mssql_get_last_message();
    exit;
}

# Results
while ($row = mssql_fetch_assoc($stmt)) {
    echo print_r($row, true)."</br>";
}

# End
mssql_free_result($stmt);
mssql_close($SQL_db);
?>

ノート:

MSSQL 機能は PHP 7.0 で削除されました。MS SQL Server に接続する別の方法を検討してください。

于 2018-11-20T06:58:07.167 に答える