我剛剛使用IIS和Microsoft SQL服務器安裝了一個PHP服務器,它們都運行在同一臺Windows Server 2008計算機上。我在PHP上安裝了Microsoft的SQLSRV驅動程序,因爲我想在PHP中使用我的SQL Server數據庫。SQLSRV查詢不起作用
連接到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(),而不是印刷「錯誤選擇DB」,它只是給了我所說的「陣」,僅此而已,沒有錯誤消息,什麼都沒有。
是否表模式'Vitare'存在嗎? – Raptor
是的,它出現在SQL Server管理的數據庫中 – raj1v
嘗試'使用Vitare; CREATE TABLE ...'或'CREATE TABLE Vitare.dbo.Persons ...'。 –