欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php能連接微軟數(shù)據(jù)庫(kù),php能連接微軟數(shù)據(jù)庫(kù)嗎

如何讓php5.5連接上mssql

mssql是sqlserver 的簡(jiǎn)稱(chēng)。這個(gè)是微軟的重型數(shù)據(jù)庫(kù)。

創(chuàng)新互聯(lián)建站于2013年開(kāi)始,先為上海等服務(wù)建站,上海等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為上海企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

我們查看php是否支持某項(xiàng)功能可以打開(kāi)配置文件,查看是否有該驅(qū)動(dòng)即可。

實(shí)際上php所有版本都支持sql server 。

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

在linux下php可以連接sqlserver數(shù)據(jù)庫(kù)嗎?我用的是thinkphp的框架,望大神指點(diǎn)

肯定可以啊 你買(mǎi)的是那種虛擬主機(jī)吧 估計(jì)是php+Mysql 的模式,他不提供sqlserver 當(dāng)然就連不上咯。

php怎么連接sql server 2012

1:PHP5.2.x本身有個(gè)php_mssql.dll的擴(kuò)展用來(lái)連接Sql server,但是這個(gè)dll只是用來(lái)連接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本無(wú)法使用mssql_connect連接到數(shù)據(jù)庫(kù)。

  2:php5.3.x不再支持php_mssql.dll 拓展庫(kù)了,及時(shí)使用php5.2.x中的php_mssql.dll也無(wú)法使用。 微軟專(zhuān)門(mén)為PHP出了個(gè)SQL Server的擴(kuò)展(Windows版本的),對(duì)于Windows下使用php開(kāi)發(fā)SQL Server應(yīng)用來(lái)說(shuō),這個(gè)擴(kuò)展有利于利用SQL Server來(lái)開(kāi)發(fā)php平臺(tái)連接sql server數(shù)據(jù)庫(kù)管理系統(tǒng)。

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

5.3以下的版本擴(kuò)展里面自帶一個(gè)php_mssql.dll;接數(shù)據(jù)庫(kù)的擴(kuò)展,可以利用這個(gè)擴(kuò)展鏈接數(shù)據(jù)庫(kù),(只限于鏈接低版本數(shù)據(jù)庫(kù))。

具體的步驟如下:

1:首先安裝sql server,超級(jí)不好安裝,我之前安裝的是2008版本的,Windows過(guò)期后就不能用了,然后重裝還裝不上,最后重裝系統(tǒng)才裝上

2:確定SQL裝的時(shí)候用的是混合認(rèn)證模式,或SQL驗(yàn)證模式,然后打開(kāi)php的配置文件(php.ini),開(kāi)啟mssql擴(kuò)展 (extension=php_pdo_mssql.dll前面的分號(hào)去掉)并且需要把mssql.secure_connection = On 重啟后生效。

如果比較順利的話已經(jīng)可以連接數(shù)據(jù)庫(kù)了,如果連不上就需要繼續(xù)低下的配置:

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

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

二、php5.3+連接sql server

其 實(shí)5.3以下的php版本已經(jīng)很少用了,況且安全性和兼容性都不好,所以高版本的php還是比較常見(jiàn)的。實(shí)踐證明低版本的php連接數(shù)據(jù)庫(kù)成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專(zhuān)門(mén)的擴(kuò)展 SQLSRV 來(lái)連接sqlserver數(shù)據(jù)庫(kù)

步驟如下:

1:先到微軟網(wǎng)站下載 SQL Server Driver for PHP 是一個(gè)自解壓的 EXE文件,解壓縮后你會(huì)得到這么幾個(gè)文件:

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

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

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

extension=在ext下的pdo擴(kuò)展(用于pdo)

extension=在ext下的擴(kuò)展

3:重啟服務(wù)器,打開(kāi)phpinfo();看到以下?tīng)顟B(tài)就證明添加擴(kuò)展成功,

4:連接測(cè)試:

?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,在這個(gè)版本中,還有幾個(gè)函數(shù):

這個(gè)擴(kuò)展為php新增了一系列sqlsrv_開(kāi)頭的函數(shù),常用的如下:

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

. . .

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

不然會(huì)出現(xiàn)如下錯(cuò)誤:

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 驅(qū)動(dòng)程序管理器] 未發(fā)現(xiàn)數(shù)據(jù)源名稱(chēng)并且未指定默認(rèn)驅(qū)動(dòng)程序'(length=71)

'message' =string'[Microsoft][ODBC 驅(qū)動(dòng)程序管理器] 未發(fā)現(xiàn)數(shù)據(jù)源名稱(chēng)并且未指定默認(rèn)驅(qū)動(dòng)程序'(length=71)

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

php5.5連接mssql2008r2

網(wǎng)上有 其實(shí)連接MSSQL 有很多方法

第一種 到微軟下載連接驅(qū)動(dòng)

第二種 用ODBC 開(kāi)放數(shù)據(jù)庫(kù)連接

php連接mssql 2008 怎么寫(xiě)

php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分號(hào)去掉,對(duì)應(yīng)的使哪種方式連接mssql。注意要重啟服務(wù)使其生效。

一、建立連接

1、odbc

首先,在php程序所在的服務(wù)器設(shè)置odbc。這里32位和64位操作系統(tǒng)有區(qū)別。32位的從控制面板中管理工具中的數(shù)據(jù)源(odbc)直接建立就可以了,64位的要運(yùn)行C:\Windows\SysWOW64\odbcad32.exe從這里面設(shè)置。注意:上面只的是數(shù)據(jù)庫(kù)服務(wù)器為32為的,數(shù)據(jù)源設(shè)置服務(wù)器為32位和64位兩種的情況。只要兩個(gè)服務(wù)器建立的數(shù)據(jù)源位數(shù)一致就好。

下面是odbc建立連接代碼。

復(fù)制代碼 代碼如下:

$con = odbc_connect('odbc名稱(chēng)','用戶名','密碼');2、連接mssql2000

復(fù)制代碼 代碼如下:

$con = mssql_connect('數(shù)據(jù)庫(kù)地址','用戶名','密碼');3、連接mssql2008

復(fù)制代碼 代碼如下:

$connectionInfo = array("UID"=用戶名,"PWD"=密碼,"Database"="數(shù)據(jù)庫(kù)名稱(chēng)");$con = sqlsrv_connect( 數(shù)據(jù)庫(kù)地址,$connectionInfo);二、輸入查詢代碼

這個(gè)都一樣,可以直接寫(xiě)入,也可以從mssql中驗(yàn)證好后復(fù)制過(guò)來(lái)。簡(jiǎn)單點(diǎn)說(shuō)就是把一個(gè)sql語(yǔ)句賦值給一個(gè)變量。

類(lèi)似下面代碼

復(fù)制代碼 代碼如下:

$query = "SELECT top 12 * 數(shù)據(jù)庫(kù)名稱(chēng) order by id desc";三、建立查詢并取出數(shù)據(jù)

1、odbc

復(fù)制代碼 代碼如下:

$result = odbc_do($con,$query);

while(odbc_fetch_row($result))

{

$變量名稱(chēng) = odbc_result($result, "字段名稱(chēng)");}

2、連接mssql2000

復(fù)制代碼 代碼如下:

$result = mssql_query($con, $query);

while($row =mssql_fetch_array($result))

{

$變量名稱(chēng) = $row["字段名稱(chēng)"];

}

3、連接mssql2008

復(fù)制代碼 代碼如下:

$result = sqlsrv_query($con, $query);

while($row = sqlsrv_fetch_array($result)){

$變量名稱(chēng) = $row["字段名稱(chēng)"];

}

在php5.3及以后的版本中不附帶sqlsrv庫(kù)了。所以要從微軟這里下載。

四、關(guān)閉連接

這個(gè)沒(méi)有什么區(qū)別,分別是odbc_close();和mssql_close()和sqlsrv_close();最后體會(huì):php連接mssql比連接mssql的函數(shù)少了一些,但是也夠用了。具體函數(shù)可以參考php官方手冊(cè)

PHP網(wǎng)站怎么連接到數(shù)據(jù)庫(kù)?

常規(guī)方式

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

// 讀取配置文件內(nèi)容

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

PHP解析XML

上述兩種讀取文件,其實(shí)都是為了PHP解析XML來(lái)做準(zhǔn)備的。關(guān)于PHP解析XML的方式的博客有很多。方式也有很多,像simplexml,XMLReader,DOM啦等等。但是對(duì)于比較小型的xml配置文件,simplexml就足夠了。

配置文件

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

!-- 為防止出現(xiàn)意外,請(qǐng)按照此標(biāo)準(zhǔn)順序書(shū)寫(xiě).其實(shí)也無(wú)所謂了 --

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 { ? ? ? ? ? ?// 讀取配置文件內(nèi)容

$handle = fopen(self::$dbconfigpath, "r"); ? ? ? ? ? ?$content = fread($handle, filesize(self::$dbconfigpath)); ? ? ? ? ? ?// 獲取xml文檔根節(jié)點(diǎn),進(jìn)而獲取相關(guān)的數(shù)據(jù)庫(kù)信息

$mysql = simplexml_load_string($content); ? ? ? ? ? ?// 將獲取到的xml節(jié)點(diǎn)信息賦值給關(guān)聯(lián)數(shù)組,方便接下來(lái)的方法調(diào)用

$dbconfig['host'] = $mysql-host; ? ? ? ? ? ?$dbconfig['user'] = $mysql-user; ? ? ? ? ? ?$dbconfig['password'] = $mysql-password; ? ? ? ? ? ?$dbconfig['db'] = $mysql-db; ? ? ? ? ? ?$dbconfig['port'] = $mysql-port; ? ? ? ? ? ?// 將配置信息以關(guān)聯(lián)數(shù)組的形式返回

return $dbconfig;

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

} ? ? ? ?return $dbconfig;

}

}1234567891011121314151617181920212223242526272829

數(shù)據(jù)庫(kù)連接池

對(duì)于PHP程序而言,優(yōu)化永無(wú)止境。而數(shù)據(jù)庫(kù)連接池就在一定程度上起到了優(yōu)化的作用。其使得對(duì)用戶的每一個(gè)請(qǐng)求而言,無(wú)需每次都像數(shù)據(jù)庫(kù)申請(qǐng)鏈接資源。而是通過(guò)已存在的數(shù)據(jù)庫(kù)連接池中的鏈接來(lái)返回,從時(shí)間上,效率上,都是一個(gè)大大的提升。

于是,這里簡(jiǎn)單的模擬了一下數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)。核心在于維護(hù)一個(gè)“池”。

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

?php/**x

* ?PHP中的數(shù)據(jù)庫(kù) 工具類(lèi)設(shè)計(jì)

* ?郭璞

* ?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文件丟失,無(wú)法進(jìn)行配置文件的初始化操作!/markbr /" );

}else {

require './utils.php';

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

$this-dbconfig = XMLUtil::getDBConfiguration (); ? ? ? ?// 準(zhǔn)備好數(shù)據(jù)庫(kù)連接池“偽隊(duì)列”

$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連接數(shù)據(jù)庫(kù)失??!/markbr /" );

array_push ( $this-dbpool, $conn );

}

} ? ?/**

* 從數(shù)據(jù)庫(kù)連接池中獲取一個(gè)數(shù)據(jù)庫(kù)鏈接資源

*

* @throws ErrorException

* @return mixed

*/

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

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

}

} ? ?/**

* 將用完的數(shù)據(jù)庫(kù)鏈接資源放回到數(shù)據(jù)庫(kù)連接池

*

* @param unknown $conn

* @throws ErrorException

*/

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

} else {

array_push ( $this-dbpool, $conn );

}

}

}

本文名稱(chēng):php能連接微軟數(shù)據(jù)庫(kù),php能連接微軟數(shù)據(jù)庫(kù)嗎
分享網(wǎng)址:http://chinadenli.net/article10/heiddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管動(dòng)態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站排名、響應(yīng)式網(wǎng)站、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)