0

我只是使用 IIS 和 Microsoft SQL 服务器设置了一个 PHP 服务器,它们都运行在同一台 Windows Server 2008 机器上。我在 PHP 上安装了 Microsoft 的 SQLSRV 驱动程序,因为我想在 PHP 中使用我的 SQL Server 数据库。

连接到 SQL Server 实例在代码中运行良好,但是当我尝试执行查询时,它不再起作用。我尝试从 php 代码运行的相同查询正在其他程序中运行,例如我的 SQL Server 管理器。即使是像“USE dbname”这样的简单命令也无法正常工作,但它们可以在 SQL Server 管理器中工作。

这是我正在使用的 PHP 代码。当我运行代码时,它显示已连接,然后出现错误选择数据库。

$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'];

当我运行 sql_srverrors() 而不是打印 'error selection DB' 时,它只给了我 'Array' 这个词,仅此而已,没有错误消息,什么都没有。

4

1 回答 1

0

试试这个连接到数据库:

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