我只是使用 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' 这个词,仅此而已,没有错误消息,什么都没有。