導航:首頁 > 編程語言 > php鏈接mssql

php鏈接mssql

發布時間:2023-02-24 18:56:05

『壹』 php怎麼連接sql server 2012

1:PHP5.2.x本身有個php_mssql.dll的擴展用來連接Sql server,但是這個dll只是用來連接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本無法使用mssql_connect連接到資料庫。

2:php5.3.x不再支持php_mssql.dll 拓展庫了,及時使用php5.2.x中的php_mssql.dll也無法使用。 微軟專門為PHP出了個SQL Server的擴展(Windows版本的),對於Windows下使用php開發SQL Server應用來說,這個擴展有利於利用SQL Server來開發php平台連接sql server資料庫管理系統。

一、php5.3以下的版本連接sql server

5.3以下的版本擴展裡面自帶一個php_mssql.dll;接資料庫的擴展,可以利用這個擴展鏈接資料庫,(只限於鏈接低版本資料庫)。

具體的步驟如下:

1:首先安裝sql server,超級不好安裝,我之前安裝的是2008版本的,Windows過期後就不能用了,然後重裝還裝不上,最後重裝系統才裝上

2:確定SQL裝的時候用的是混合認證模式,或SQL驗證模式,然後打開php的配置文件(php.ini),開啟mssql擴展 (extension=php_pdo_mssql.dll前面的分號去掉)並且需要把mssql.secure_connection = On 重啟後生效。

如果比較順利的話已經可以連接資料庫了,如果連不上就需要繼續低下的配置:

3: 檢查ntwdblib文件的版本(php/下面和Apache/下面)下載正確的版本的 ntwdblib.dll(2000.80.194.0)覆蓋現有的DLL文件,(把ntwdblib.dll,php_mssql.dll 復制到system32目錄中也可以)ntwdblib.dll 用於PHP連接MSSQL2005或2008的驅動文件。

4:測試連接:mssql_connect('localhost,1433', '用戶名', '密碼');

二、php5.3+連接sql server

其 實5.3以下的php版本已經很少用了,況且安全性和兼容性都不好,所以高版本的php還是比較常見的。實踐證明低版本的php連接資料庫成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專門的擴展 SQLSRV 來連接sqlserver資料庫

步驟如下:

1:先到微軟網站下載 SQL Server Driver for PHP 是一個自解壓的 EXE文件,解壓縮後你會得到這么幾個文件:

其中的52、53表示就是php的5.2.x和5.3.x 版本,選擇跟你php版本相匹配的;vc6或vc9的選擇要看你使用的是什麼web伺服器軟體,如果使用的是IIS那就選擇vc9的,如果是Apache 則選擇vc6的,ts和nts的選擇要看你安裝的php版本是線程安全版的還是非線程安全版,ts是線程安全,nts是非線程安全。

如果不知道可以在phpinfo里看Zend Extension Build這個屬性如下圖:

2:將擴展拷貝到拷到php/ext目錄下,在php.ini文件,添加一下代碼:

extension=在ext下的pdo擴展(用於pdo)

extension=在ext下的擴展

3:重啟伺服器,打開phpinfo();看到以下狀態就證明添加擴展成功,


4:連接測試:

<?php $serverName = "(local)"; $connectionInfo = array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ){ echo "Connection established. "; }else{ echo "Connection could not be established. "; die( var_mp(sqlsrv_errors())); } sqlsrv_close( $conn); ?>


注意這里的連接不是用mssql_connect而是用sqlsrv_connect,在這個版本中,還有幾個函數:

這個擴展為php新增了一系列sqlsrv_開頭的函數,常用的如下:


sqlsrv_connect

sqlsrv_close

sqlsrv_commit

sqlsrv_errors

sqlsrv_fetch

sqlsrv_fetch_array

sqlsrv_fetch_metadata

sqlsrv_num_rows

sqlsrv_query

sqlsrv_rollback

sqlsrv_rows_affected

. . .

另外注意的是,如果使用這個擴展連接Sql server 2005以及以上版本的sql server(如sql server 2008),你還需要在機器上先安裝 SQL Server Native Client

不然會出現如下錯誤:

array

0 =>array

0 =>string'IMSSP'(length=5)

'SQLSTATE' =>string'IMSSP'(length=5)

1 =>int-49

'code' =>int-49

2 =>string'This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86:


http://go.microsoft.com/fwlink/?LinkId=163712'

(length=216)

'message' =>string'This extension requires the Microsoft SQL Server 2008 Native Client. Access the following URL to download the Microsoft SQL Server 2008 Native Client ODBC driver for x86:


http://go.microsoft.com/fwlink/?LinkId=163712'

(length=216)

1 =>array

0 =>string'IM002'(length=5)

'SQLSTATE' =>string'IM002'(length=5)

1 =>int0

'code' =>int0

2 =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)

'message' =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)

『貳』 php怎麼樣連接sql資料庫

1、軟體配置

Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2資料庫,wamp2.2中的php版本是5.3.10。

Php環境也可以換成php+apache。

2、支持連接MySQL Server配置

php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以後的版本不支持。

2.1、php連接mssql設置(php5.3以前版本)

(1)、打開php.ini,將
;extension=php_mssql.dll前面的分號(;)去掉,然後重啟 Apache。如果不行的話,進行第2步。

(2)檢查一下你的php安裝目錄下的ext下面有沒有php_mssql.dll存在,如果沒有,從www.php.net重新下載一個php安裝,要下載那個壓縮包的才是最完整的。
如果ext目錄下已經有了php_mssql.dll,那麼你需要打開php.ini,找到
extension_dir = "./ext"
這一句(或者類似的,不一定是"./ext",查找"extension_dir"即可),然後把"./ext"修改為你的php安裝目錄的ext目錄的完整路徑,比如"c:/php/ext",或者"c:/program files/php/ext"這樣。然後再次重啟 Apache。如果還是不行的話,可能就需要第3步了。

(3)把 php 目錄下的 ntwdblib.dll 和 php_mssql.dll 復制到 system32的系統目錄中去,然後重起Apache。

(4)然後就可以連接MSSQL,並進行一些操作了。連接例子如下:

2.2、php連接sqlsrv(php5.3以及以上版本)

(1)、下載Microsoft Drivers forPHPfor SQL Server,官方下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098,我使用的是SQLSRV2.0。

(2)、解壓下載下來的文件將php_pdo_sqlsrv_53_ts_vc9.dll文件和php_sqlsrv_53_ts_vc9.dll文件復制到php安裝目錄下的ext文件夾中。此處根據版本不同使用的文件不同。

(3)、在php.ini中添加

extension=php_sqlsrv_53_ts_vc9.dll

extension=php_pdo_sqlsrv_53_ts_vc9.dll

到很多;extension=***.dll語句後面,注意extension_dir 指向的位置是否正確。

(4)、重啟apache,然後訪問http://apache訪問地址/?Phpinfo=1,出現下面圖片中的內容,則代表配置正確。

(5)、寫測試代碼,測試代碼如下:

(6)、上面完成之後,測試代碼的時候會出現連接失敗,因為沒有安裝sql server nation client ,本地客戶端,去下載合適的客戶端,我使用的是Microsoft? SQL Server? 2012 Native Client,下載地址:

(7)、安裝完成之後,在重新啟動apache,然後訪問就可以連接成功了。

(8)、注意:在php.ini文件所在的文件夾中必須要有ntwdblib.dll文件存在。

『叄』 php怎麼連接sql server 2012

一、環境
php5.2.5
sqlserver2008
win7
二、配置php
1、打開php.in將extension=php_mssql.dll的注釋符號去掉。
2、打開php.in將mssql.secure_connection
=
off改為on。
3、從5.2開始,php就不再提供mssql.dll了,所以要php連接sql
server
2005/2008/2012必須要使用微軟提供的sql
server
for
php
2.0/3.0
這個文件可以上微軟官網下載(sqlsrv20.exe/sqlsrv30.exe),然後執行到wamp\php\ext文件夾下
打開php.ini文件
在extensions後面加上:
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll
註:52代表php5.2
假如是php5.3就拷貝php_sqlsrv_53_ts_vc6.dll
關於vc6和vc9的區別
vc6
版本是使用
visual
studio
6
編譯器編譯的,如果你是在windows下使用apache+php的,請選擇vc6版本。
vc9
版本是使用
visual
studio
2008
編譯器編譯的,如果你是在windows下使用iis+php的,請選擇vc9版本。

『肆』 php 怎麼連接sqlserver

  1. 准備工作:SQLSRV20.EXE(PHP mssql擴展庫)、php_mssql.dll文件。

  2. 安裝PHP mssql擴展庫:安裝SQLSRV20.EXE,選擇解壓路徑為:D:wampinphpphp5.2.9-2ext。

  3. 修改php.ini配置文件:打開php.ini配置文件,將其中

    ;extension=php_mssql.dll

    ;extension=php_pdo_mssql.dll

    前面的分號去掉,然後再」Dynamic Extensions」區域的後面添加php_sqlsrv的動態鏈接庫文件: extension=php_sqlsrv_52_ts_vc6.dll

    extension=php_pdo_sqlsrv_52_ts_vc6.dll

  4. 注意事項:查看D:wampinphpphp5.2.9-2ext目錄下有也Php_mssql.dll文件。如果沒有,則下載該文件,復制到該目錄下。

  5. 測試環境配置是否成功:打開瀏覽器,在地址欄輸入http://localhost/?phpinfo=1 ,如果在打開的網頁中查詢到如下頁面內容,則配置成功,否則配置失敗。


『伍』 php連接sql2000問題

PHP完全可以連接MSSQL的。
1.首先需要MSSQLClientTools是一個dll叫做ntwdblib.dll,它通常在MSSQLServer安裝以後被到系統的system32文件夾下;如果是SQLServer就在本地,那你需要核實的是該ntwdblib.dll的版本與SQLServer的版本一致(2005對應2000.80.194.0,2000對應的是2000.2.8.0;)如果SQLServer在遠程,需要將那個ntwdblib.dll拷貝到本機器的system32文件夾下;
(這里經常遇見的一個問題是,如果php<通常是較老的ntwdblib.dll>晚於SQLServer安裝的話,php的ntwdblib.dll會覆蓋SQLserver安裝時在system32下的ntwdblib.dll,導致鏈接是提示:鏈接不上資料庫)
2.核實完system32下的ntwdblib.dll之後,還需要將正確版本的ntwdblib.dll覆蓋php文件夾下的ntwdblib.dll;
3.使用MSSQLServer的方法與MySQL的方法很類似;
如下:
<?php
//鏈接資料庫
$conn=mssql_connect('IBM-F24B11ED1CCSQLEXPRESS','sa','123456');
mssql_select_db('LabMIS',?$conn);
//query語句
$Query="select*fromadmin";
$AdminResult=mssql_query($Query);
//輸出結果
$Num=mssql_num_rows($AdminResult);
for($i=0;$i<$Num;$i++)
{
$Row=mssql_fetch_array($AdminResult);
echo($Row[1]);
echo("<br/>");
}
?>

『陸』 PHP+MS SQL怎麼連接啊

這個版本在生成的時候,就「--without-mssql」關閉了MSSQL了,加擴展是加不進去的,你需要下載一個沒有「--without-mssql」的版本(7.0.25這個版本就可以了),然後下載SQLSRV的dll,加到PHP裡面,這時候,phpinfo就可以看到SQLSRV了,但是這時候,資料庫連接的時候還是會失敗,這時候,就需要下載個微軟官網下載ODBC驅動了,然後就可以連上了,我也是搞了2天才搞起來。

『柒』 幾種常用PHP連接資料庫的代碼示例

PHP連接資料庫之PHP連接MYSQL資料庫代碼

  • < ?php
  • $mysql_server_name= localhost ;
  • //改成自己的mysql資料庫伺服器
  • $mysql_username= root ;
  • //改成自己的mysql資料庫用戶名
  • $mysql_password= ;
  • //改成自己的mysql資料庫密碼
  • $mysql_database= mycounter ;
  • //改成自己的mysql資料庫名
  • $conn=mysql_connect($mysql_server_name $mysql_username $mysql_password $mysql_database);
  • $sql= CREATEDATABASEmycounter _chinese_ci;
  • ;
  • mysql_query($sql);
  • $sql= CREATETABLE`counter` (`id`INT( )UNSIGNEDNOTNULL AUTO_INCREMENT `count`INT( ) UNSIGNEDNOTNULLDEFAULT PRIMARYKEY (`id`))TYPE=innodb; ;
  • mysql_select_db($mysql_database $conn);
  • $result=mysql_query($sql);
  • //echo$sql;
  • mysql_close($conn);
  • echo"Hello!資料庫mycounter已經成功建立!";
  • ?>
  • PHP連接資料庫之PHP連接ACCESS資料庫代碼方法

  • <?
  • $conn=new("ADODB Connection");
  • $connstr="DRIVER={MicrosoftAccessDriver(* mdb)};DBQ=" realpath("data/db mdb");
  • $conn >Open($connstr);
  • $rs=new("ADODB RecordSet");
  • $rs >Open("select*fromszd_t" $conn );
  • while(!$rs >eof){
  • $f=$rs >Fields( );
  • echo$f >value;
  • $rs >MoveNext();
  • }
  • ?>
  • PHP連接資料庫之PHP連接MS SQL資料庫代碼方法

    安裝SQL伺服器並添加PHP的MSSQL擴展

    使用以下代碼連接並測試

  • <?php
  • $myServer=localhost;//主機
  • $myUser=sa;//用戶名
  • $myPass=password;//密碼
  • $myDB=Northwind;//MSSQL庫名
  • $s=@mssql_connect($myServer $myUser $myPass)
  • ordie(CouldntconnecttoSQLServeron$myServer);
  • $d=@mssql_select_db($myDB $s)
  • ordie(Couldntopendatabase$myDB);
  • $query=SELECTTitleOfCourtesy++FirstName++LastNameASEmployee;
  • $query =FROMEmployees;
  • $query =WHERECountry=USAANDLeft(HomePhone )=( );
  • $result=mssql_query($query);
  • $numRows=mssql_num_rows($result);
  • echo< h > $numRows Row ($numRows== ?:s) Returned</ h >;
  • while($row=mssql_fetch_array($result))
  • {
  • echo< li> $row[Employee] < /li>;
  • }
  • ?>
  • PHP連接資料庫之PHP連接Oracle資料庫

    PHP提供了兩套函數與Oracle連接 分別是ORA_和OCI函數 其中ORA_函數略顯陳舊 OCI函數更新據說更好一些 兩者的使用語法幾乎相差無幾 你的PHP安裝選項應該可以支持兩者的使用

  • <?
  • if($conn=Ora_Logon("user@TNSNAME" "password"))
  • {echo"SUCCESS!Connectedtodatabasen";
  • }else
  • {echo"Failed: (Couldnotconnecttodatabasen";}
  • Ora_Logoff($conn);
  • phpinfo();
  • ?>
  • lishixin/Article/program/PHP/201405/30761

    『捌』 如何讓php5.5連接上mssql

    PHP 查看是否支持MSSQL的方法:
    檢測是否存在mssql_connect函數;
    <?php
    if (function_exists("mssql_connect")){
    echo 'PHP環境支持MSSQL!';
    }else{
    echo '環境不支持MSSQL資料庫!';
    }

    查看phpinfo中mssql配置項是否開啟,如果存在mssql配置項,則支持;否則,不支持。;

    配置php連接mssql:
    開啟mssql擴展;打開php.ini配置文件,去掉extension=php_pdo_mssql.dll和extension=php_mssql.dll前面的「;」然後重啟apache伺服器;
    將PHP目錄下ext目錄下的php_mssql.dll和ntwdblib.dll,復制到WINDOWS/system32文件夾下,然後重啟apache即可。

    『玖』 php連接mssql 2008 怎麼寫

    php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分號去掉,對應的使哪種方式連接mssql。注意要重啟服務使其生效。
    一、建立連接
    1、odbc
    首先,在php程序所在的伺服器設置odbc。這里32位和64位操作系統有區別。32位的從控制面板中管理工具中的數據源(odbc)直接建立就可以了,64位的要運行C:\Windows\SysWOW64\odbcad32.exe從這裡面設置。注意:上面只的是資料庫伺服器為32為的,數據源設置伺服器為32位和64位兩種的情況。只要兩個伺服器建立的數據源位數一致就好。
    下面是odbc建立連接代碼。
    復制代碼 代碼如下:
    $con = odbc_connect('odbc名稱','用戶名','密碼');2、連接mssql2000
    復制代碼 代碼如下:
    $con = mssql_connect('資料庫地址','用戶名','密碼');3、連接mssql2008
    復制代碼 代碼如下:
    $connectionInfo = array("UID"=>用戶名,"PWD"=>密碼,"Database"=>"資料庫名稱");$con = sqlsrv_connect( 資料庫地址,$connectionInfo);二、輸入查詢代碼
    這個都一樣,可以直接寫入,也可以從mssql中驗證好後復制過來。簡單點說就是把一個sql語句賦值給一個變數。
    類似下面代碼
    復制代碼 代碼如下:
    $query = "SELECT top 12 * 資料庫名稱 order by id desc";三、建立查詢並取出數據
    1、odbc
    復制代碼 代碼如下:
    $result = odbc_do($con,$query);
    while(odbc_fetch_row($result))
    {
    $變數名稱 = odbc_result($result, "欄位名稱");}
    2、連接mssql2000
    復制代碼 代碼如下:
    $result = mssql_query($con, $query);
    while($row =mssql_fetch_array($result))
    {
    $變數名稱 = $row["欄位名稱"];
    }
    3、連接mssql2008
    復制代碼 代碼如下:
    $result = sqlsrv_query($con, $query);
    while($row = sqlsrv_fetch_array($result)){
    $變數名稱 = $row["欄位名稱"];
    }
    在php5.3及以後的版本中不附帶sqlsrv庫了。所以要從微軟這里下載。
    四、關閉連接
    這個沒有什麼區別,分別是odbc_close();和mssql_close()和sqlsrv_close();最後體會:php連接mssql比連接mssql的函數少了一些,但是也夠用了。具體函數可以參考php官方手冊

    閱讀全文

    與php鏈接mssql相關的資料

    熱點內容
    安卓快手下載怎麼沒有下載到本地 瀏覽:228
    怎麼在安卓手機登繪旅人 瀏覽:404
    桌面文件全部加密 瀏覽:401
    6s怎麼外接u盤需要什麼app 瀏覽:131
    linux查看文件許可權命令 瀏覽:685
    安卓手游存檔怎麼用 瀏覽:761
    linuxyum安裝ftp 瀏覽:690
    村委會主任可以推行政命令嗎 瀏覽:102
    電腦文件夾封面多張圖片 瀏覽:263
    網吧總伺服器叫什麼 瀏覽:922
    多個演算法解決同一個問題 瀏覽:455
    小車解壓後我的購車發票呢 瀏覽:977
    做app開發用什麼雲伺服器 瀏覽:177
    linux網卡子介面 瀏覽:985
    21歲職高畢業學程序員怎麼學 瀏覽:321
    vs如何對單個文件編譯 瀏覽:6
    為什麼有的電腦不能安裝python 瀏覽:75
    金蝶迷你版加密狗檢測到過期 瀏覽:186
    硬體描述語言編譯結果 瀏覽:655
    程序員逆天改命 瀏覽:19