php能連接微軟數據庫,php能連接微軟數據庫嗎

如何讓php5.5連接上mssql

mssql是sqlserver 的簡稱。這個是微軟的重型數據庫。

創新互聯建站于2013年開始,先為上海等服務建站,上海等地企業,進行企業商務咨詢服務。為上海企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

我們查看php是否支持某項功能可以打開配置文件,查看是否有該驅動即可。

實際上php所有版本都支持sql server 。

只需要打開php的配置文件,將以下代碼打開注釋即可。

在linux下php可以連接sqlserver數據庫嗎?我用的是thinkphp的框架,望大神指點

肯定可以啊 你買的是那種虛擬主機吧 估計是php+Mysql 的模式,他不提供sqlserver 當然就連不上咯。

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.\n"; ? }else{ ? ? ?echo "Connection could not be established.\n"; ? ? ?die( var_dump(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:

'

(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:

'

(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)

解決方法:需要安裝SQL Server 2008 Native Client ODBC Driver,下載安裝文件sqlncli.msi,安裝后就可以了。

php5.5連接mssql2008r2

網上有 其實連接MSSQL 有很多方法

第一種 到微軟下載連接驅動

第二種 用ODBC 開放數據庫連接

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網站怎么連接到數據庫?

常規方式

常規方式就是按部就班的讀取文件了。其余的話和上述方案一致。

// 讀取配置文件內容

$handle = fopen("filepath", "r"); ? ? ? ? ? ?$content = fread($handle, filesize("filepath"));123

PHP解析XML

上述兩種讀取文件,其實都是為了PHP解析XML來做準備的。關于PHP解析XML的方式的博客有很多。方式也有很多,像simplexml,XMLReader,DOM啦等等。但是對于比較小型的xml配置文件,simplexml就足夠了。

配置文件

?xml version="1.0" encoding="UTF-8" ?mysql

!-- 為防止出現意外,請按照此標準順序書寫.其實也無所謂了 --

hostlocalhost/host

userroot/user

password123456/password

dbtest/db

port3306/port/mysql12345678910

解析

?php/**

* 作為解析XML配置文件必備工具

*/class XMLUtil {

public static $dbconfigpath = "./db.config.xml"; ? ?public static function getDBConfiguration() {

$dbconfig = array (); ? ? ? ?try { ? ? ? ? ? ?// 讀取配置文件內容

$handle = fopen(self::$dbconfigpath, "r"); ? ? ? ? ? ?$content = fread($handle, filesize(self::$dbconfigpath)); ? ? ? ? ? ?// 獲取xml文檔根節點,進而獲取相關的數據庫信息

$mysql = simplexml_load_string($content); ? ? ? ? ? ?// 將獲取到的xml節點信息賦值給關聯數組,方便接下來的方法調用

$dbconfig['host'] = $mysql-host; ? ? ? ? ? ?$dbconfig['user'] = $mysql-user; ? ? ? ? ? ?$dbconfig['password'] = $mysql-password; ? ? ? ? ? ?$dbconfig['db'] = $mysql-db; ? ? ? ? ? ?$dbconfig['port'] = $mysql-port; ? ? ? ? ? ?// 將配置信息以關聯數組的形式返回

return $dbconfig;

} catch ( Exception $e ) { ? ? ? ? ? ?throw new RuntimeException ( "mark讀取數據庫配置文件信息出錯!/markbr /" );

} ? ? ? ?return $dbconfig;

}

}1234567891011121314151617181920212223242526272829

數據庫連接池

對于PHP程序而言,優化永無止境。而數據庫連接池就在一定程度上起到了優化的作用。其使得對用戶的每一個請求而言,無需每次都像數據庫申請鏈接資源。而是通過已存在的數據庫連接池中的鏈接來返回,從時間上,效率上,都是一個大大的提升。

于是,這里簡單的模擬了一下數據庫連接池的實現。核心在于維護一個“池”。

從池子中取,用畢,歸還給池子。

?php/**x

* ?PHP中的數據庫 工具類設計

* ?郭璞

* ?2016年12月23日

*

**/class DbHelper { ? ?private $dbconfig; ? ?private $dbpool; ? ?public $poolsize; ? ?public function __construct($poolsize = 20) { ? ? ? ?if (! file_exists ( "./utils.php" )) { ? ? ? ? ? ?throw new RuntimeException ( "markutils.php文件丟失,無法進行配置文件的初始化操作!/markbr /" );

}else {

require './utils.php';

} ? ? ? ?// 初始化 配置文件信息

$this-dbconfig = XMLUtil::getDBConfiguration (); ? ? ? ?// 準備好數據庫連接池“偽隊列”

$this-poolsize = $poolsize;

$this-dbpool = array (); ? ? ? ?for($index = 1; $index = $this-poolsize; $index ++) {

$conn = mysqli_connect ( $this-dbconfig ['host'], $this-dbconfig ['user'], $this-dbconfig ['password'], $this-dbconfig ['db'] ) or die ( "mark連接數據庫失??!/markbr /" );

array_push ( $this-dbpool, $conn );

}

} ? ?/**

* 從數據庫連接池中獲取一個數據庫鏈接資源

*

* @throws ErrorException

* @return mixed

*/

public function getConn() { ? ? ? ?if (count ( $this-dbpool ) = 0) { ? ? ? ? ? ?throw new ErrorException ( "mark數據庫連接池中已無鏈接資源,請稍后重試!/mark" );

} else { ? ? ? ? ? ?return array_pop ( $this-dbpool );

}

} ? ?/**

* 將用完的數據庫鏈接資源放回到數據庫連接池

*

* @param unknown $conn

* @throws ErrorException

*/

public function release($conn) { ? ? ? ?if (count ( $this-dbpool ) = $this-poolsize) { ? ? ? ? ? ?throw new ErrorException ( "mark數據庫連接池已滿/markbr /" );

} else {

array_push ( $this-dbpool, $conn );

}

}

}

本文名稱:php能連接微軟數據庫,php能連接微軟數據庫嗎
分享網址:http://m.kartarina.com/article10/heiddo.html

成都網站建設公司_創新互聯,為您提供服務器托管、動態網站、企業網站制作、網站排名響應式網站標簽優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 精品视频无码一区二区三区| 无码精品人妻一区| 四虎成人精品国产永久免费无码| 午夜无码国产理论在线| 在线a亚洲v天堂网2019无码| 国产在线无码不卡影视影院| 久久久国产精品无码一区二区三区 | 亚洲av无码一区二区三区网站| 免费无码肉片在线观看| 夜夜添无码一区二区三区| 婷婷四虎东京热无码群交双飞视频| 亚洲av无码成人精品区在线播放 | 亚洲av午夜精品无码专区| 无码精品人妻一区| 亚洲色av性色在线观无码| 精品人妻系列无码人妻免费视频| 无码中文av有码中文a| 中文字幕乱偷无码av先锋蜜桃| 精品人妻少妇嫩草AV无码专区 | 人妻丰满熟妇AV无码区| 男人的天堂无码动漫AV| 无码少妇一区二区性色AV| av无码东京热亚洲男人的天堂 | 白嫩少妇激情无码| 亚洲AV无码专区国产乱码4SE| 免费无码婬片aaa直播表情| 亚洲AV永久无码精品放毛片| 无码A级毛片免费视频内谢| 亚洲日韩精品无码一区二区三区| 亚洲国产精品无码久久九九| 国产精品无码无卡在线观看久| 亚洲AV无码一区二区三区在线| 国产午夜无码精品免费看| 中文字幕无码久久人妻| 国产AV无码专区亚汌A√| 亚洲精品无码激情AV| 亚洲色偷拍区另类无码专区| 国产午夜无码片在线观看影院| heyzo高无码国产精品| 五十路熟妇高熟无码视频| 黑人无码精品又粗又大又长|