2012-02-12 89 views
0

我正在爲需要連接到SQL Server數據庫的Android應用程序構建Web服務。我試圖通過家用電腦上的PHP(WAMP)連接到SQL Server數據庫。如何通過PHP連接到SQL Server數據庫?

但是,我沒有經驗的SQL Server,不知道如何繼續。對於SQL Server,我使用默認設置和Windows身份驗證,所以我不確定要在連接字符串中輸入什麼內容。

下面你有我的聯繫:

$connStr = "PROVIDER=SQLOLEDB;SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB; 
$conn->open($connStr); //Open the connection to the database 

我還沒有找到一個具體的例子在任何地方,到目前爲止,所以我需要知道什麼是變量​​,$myUser等需要是Windows的情況下,驗證。

或者,如何切換到SQL Server中的用戶名和密碼身份驗證?

LE:使用Microsoft SQL Server 2008和SQL Server Management Studio中

回答

4

PDO是接受連接到PHP中不同數據庫的方式。它也有一個driver for MS-SQL

下面是一個例子(From PDO MSSQL

$con = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password"); 
+0

對不起......當談到這些時,我很喜歡這個小菜。所以......我會放棄目前的嘗試,並與PDO一起前往。爲此,我需要爲PHP安裝另一個驅動程序,就像我安裝微軟的一樣,對吧? :D – Eugen 2012-02-12 15:19:43

+0

首先通過運行phpinfo()檢查支持;你應該看到類似「PDO支持\t啓用」「PDO驅動程序\t dblib,mysql,odbc,pgsql,sqlite,sqlite2」現在我不知道,但你需要dblib或sqlsrv(其中之一是用於* nix和一個用於Windows afaik),如果它在那裏,你可以使用它,如果它不是那麼你需要添加適當的.dll到PHP。INI在你的服務器(wamp)中,尋找類似的東西:extension = php_pdo_mssql.dll(應該評論我猜)我使用Linux,所以無法幫助你在Windows下的文件和擴展的確切位置。祝你好運:) – 2012-02-12 15:32:23

+0

[這是來自wamp服務器網站的一個主題](http://forum.wampserver.com/read.php?2,68421)這可能是一個很好的起點。也可隨意將此討論移至聊天中,我可以嘗試在此幫助您 – 2012-02-12 15:37:04

-1

據:http://www.php.net/manual/en/function.mssql-connect.php

mssql_connect($servername, $username, $password) 

是如何連接到Microsoft SQL數據庫。

+0

此擴展是不適用於Windows與PHP 5.3或更高版本。 http://www.php.net/manual/en/intro.mssql.php – iDifferent 2012-02-12 14:55:09

+0

RTFM答案應該是評論,而不是答案。 – rdlowrey 2012-02-12 14:55:53

+0

在相關說明中,如果人們會停止堅持使用它們(而可怕的「教程」網站停止提倡它們),而不是極其優越的'PDO'擴展名,則同樣的命運等待'mysql *'擴展名。 – rdlowrey 2012-02-12 14:58:37

2

微軟做出了driver for PHP,但我認爲這是更好地去與PDO。

您可以使用PDO_SQLSRV:

$dbh = new PDO("sqlsrv:Server=$hostdb;Database=$dbname", $usr, $psw); 

或者使用PDO_DBLIB(在Windows上無法使用,因爲PHP 5.3):

$dbh = new PDO("dblib:host=$hostdb;dbname=$dbname", $usr, $psw);  
0

在一個相關的說明,同樣的命運等待MYSQL *擴展,如果人們會永遠停止堅持使用它們(而可怕的「教程」網站會停止提倡它們),而不是大大優越的PDO擴展。評論時間70年01月01日原作者:rdlowrey

0
$dbh = new PDO("sqlsrv:Server=$hostdb;Database=$dbname", $usr, $psw); 
相關問題