多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > PHP連接MSSQL數據庫案例,PHPWAMP多個PHP版本連接SQL Server數據庫

PHP連接MSSQL數據庫案例,PHPWAMP多個PHP版本連接SQL Server數據庫

來源:程序員人生   發布時間:2017-02-14 08:17:41 閱讀次數:5321次


課前小知識普及:MSSQL和SQL Server是同1個軟件,叫法不同而已,MSSQL全稱是Microsoft SQL Server,MSSQL是簡寫,有些人則喜歡直接叫SQL Server,我就比較喜歡這類叫法,有韻味、、、


最近有用戶在使用PHPWAMP的時候,向我咨詢1個問題,就是關于PHP如何連接MSSQL數據庫


平時我們搭建網站通常是PHP+Mysql數據庫

不過在項目中,我們有時候必須要用到PHP+MSSQL數據庫,那應當怎樣辦呢?

本文案例采取的PHP集成環境是我最新發布的版本PHPWAMP8.1.8.8,不管你用的是其他集成環境,還是自己安裝,操作方法都是1樣的,不過我還是建議大家使用我的這款PHPWAMP,我所集成的組件全是完全版,完善無錯省心省力,放在U盤隨時使用(支持自定義PHP版本,多版本同時運行)


其實早前我就有打算將MSSQL全部數據庫也綠化到PHP集成環境里面,不用安裝直接使用。

不過MSSQL數據庫面對企業是收費的,所以我不敢將其綠化,萬1追究起來,我就懵逼了。

你們可以自己先安裝好數據庫后,依照我的方式去連接就能夠了,后面我會詳細演示全部流程。


先來演示“本地測試時”經常使用的搭建方式,然后再演示網站在服務器上正式運營的搭建方式。

其實沒啥區分,主要是演示常規用法和站點管理里面的用法,讓各位更加熟練的使用罷了。


先來給大家演示php5.3連接MSSQL數據庫的具體做法吧(數據庫是SQL Server 2008)

在PHPWAMP中,點這里默許啟動的是php5.3,點擊啟動(其他PHP版本請自行切換)



啟動后,點擊此處閱讀網站




在此頁面的最底部,點擊“點擊此處查看phpinfo文件”,查看更加詳細的環境內容。





來到phpinfo文件頁面,看到這里的Thread Safety顯示的是enabled

Thread Safety是線程安全的意思,而enabled是啟動的意思,說明目前是線程安全。


如果Thread Safety顯示的不是enabled,而是disabled,那末就是非線程安全。

看圖片很明顯,目前是線程安全,而且是VC6



PHP5.3以上的版本,連接MSSQL數據庫不再是mssql.dll擴大,取而代之的是sqlsrv.dll擴大。

由于要選擇對應的驅動程序,所以要判斷是非線程安全還是線程安全,微軟公司提供了相干驅動,

用于PHP支持MSSQL數據庫。那末我下面有這么多版本的驅動,應當選哪一個呢

(Lccee提示你:這些驅動的下載地址:http://download.csdn.net/detail/lccee/9732724)




剛才我們開啟的PHP版本是5.3,然后又是線程安全,而且phpinfo頁面顯示是VC6

所以要選擇的是php_pdo_sqlsrv_53_ts_vc6.dllphp_sqlsrv_53_ts_vc6.dll這兩個。


所以很多用戶說連接失敗,就是由于你選擇的驅動版本有問題,要對號入坐才行。




打開PHPWAMP版本文件所在目錄。





來到對應的ext目錄,把php_pdo_sqlsrv_53_ts_vc6.dll和php_sqlsrv_53_ts_vc6.dll復制進去

這兩個驅動文件1個是以pdo的方式連接,另外一個則是sqlsrv_connect的方式連接。



復制進去后以下圖所示。





好,接著下1步,打開對應版本的PHP配置文件





在打開的php.ini文件中

extension=php_sqlsrv_53_ts_vc6.dll

extension=php_pdo_sqlsrv_53_ts_vc6.dll

加入上面這兩行,然后搜索“mssql.secure_connection”這1段內容,

將“mssql.secure_connection = Off”改成“mssql.secure_connection = On”




修改完成后,雙擊此處重啟當前apache服務器便可。




重啟后,在phpinfo頁面如果能搜到sqlsrv,說明已成功配置好了,如圖所示。





接下來我們來連接1下數據庫,看是不是正常!

在測試數據庫之前,我們先來查看1下數據庫端口號是多少,右鍵“新建查詢”




輸入exec sys.sp_readerrorlog 0, 1, 'listening' 然后右鍵點擊履行。



發現端口號是默許的1433,這樣我們在連接數據庫的時候就不需要指定端口號了,

由于是默許端口,所有我們可以在PHP頁面可以這么寫。代碼隨意打打,證明能連接上就好了。

<?php

 try {
   $dbName = "sqlsrv:Server=127.0.0.1;Database=lccee";   //這里是服務器IP地址和數據庫名,端口不是默許的話記得改1下
   $dbUser = "sa";    //用戶名
   $dbPassword = "111111";    //登陸密碼

   $db = new PDO($dbName, $dbUser, $dbPassword);   
    
   if ($db)   
  {       
     echo "恭喜你!數據庫連接成功了!!<br />";   
   }


     }
        catch (Exception $e){ echo "數據庫連接失敗!!";   }

?>



如果不是默許端口,假定是1688端口,那末上面這1行就應當改成。

$dbName = "sqlsrv:Server=127.0.0.1,1688;Database=lccee";

固然,就算是默許端口,你也能夠加上默許端口號,也是沒錯的,以下代碼所示。

$dbName = "sqlsrv:Server=127.0.0.1,1433;Database=lccee";

易錯點:這里的ip+端口,不是冒號!而是逗號,如果寫成“127.0.0.1:1433”是毛病的!



好,我們打開此頁面看看效果,運行代碼提示連接成功,說明沒問題。




假定我把連接里面的數據庫密碼改1下,再看,就提示失敗了,以下圖。






前面我們不是在php配置里加入了兩個DLL嗎,分別是

php_pdo_sqlsrv_53_ts_vc6.dll和php_sqlsrv_53_ts_vc6.dll

這兩個驅動文件1個是以pdo的方式連接,另外一個則是sqlsrv_connect的方式連接。



而上面我們演示的連接方式是pdo,現在我們來用sqlsrv_connect的方式連接。

那末代碼可以這么寫,創建1個sqlsrv_connect.php文件,里面寫上以下代碼

<?php

$serverName = "NEPTUNE-PC"; //serverName\instanceName
$connectionInfo = array( "Database"=>"lccee", "UID"=>"sa", "PWD"=>"111111");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
 
if( $conn ) {
     echo "連接成功<br />";
}else{
     echo "連接失敗<br />";
     
}

?>


然后再測試看,也是連接成功了!




假設我把正確的密碼111111改成了毛病的密碼888888,

(具體的數據庫密碼,看你自己的MSSQL數據庫,我的密碼是111111



那末就顯示連接毛病了,把正確密碼改成毛病以后,就顯示連接失敗了。





下面我們再改1下代碼,讀取數據庫表里的內容,這是我創建的數據庫

數據庫名為Lccee,在這個數據庫里面有個表叫phpwamp。





然后我隨意添加幾行代碼,用來讀出數據表里面的內容。

<?php

$serverName = "NEPTUNE-PC"; //serverName\instanceName
$connectionInfo = array( "Database"=>"lccee", "UID"=>"sa", "PWD"=>"111111");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
 
if( $conn ) {
     echo "連接成功<br />";
}else{
     echo "連接失敗<br />";
     
}

$query ="select * from phpwamp";
$result = sqlsrv_query($conn, $query);
while($row = sqlsrv_fetch_array($result)){
 
       print_r($row);
       echo "<br>";
}

?>



然后保存,這時候候我們再來看看,運行后就讀出這個數據表里的內容了。






最后我們再演示1下,在服務器上用站點管理創建的站點如何連接MSSQL數據庫


開始我們的教程,第1步先把主界面修改成80端口,以下圖所示。






修改端口后切換到任意處在apache2.4之下的PHP版本,php5.5、php5.6、php7都可以。





然后打開apache2.4站點管理,以下圖所示。




建立站點,如圖所示(Apache2.4站點管理可建立無數站點,每一個站點可指定不同的PHP版本,也能夠自定義設置PHP版本,還可以多個不同PHP版本同時運行,右鍵功能豐富)如圖下所示,我選的是php5.4這個版本,填寫終了后點擊“添加站點”




添加后左邊站點列表里就會出現了添加的站點,右鍵站點選擇“生成此站hosts內容”




然后點擊此處的按鈕去運行站點,以下圖紅色箭頭所示。



右鍵站點,選擇“域名閱讀該網站”,就能夠用域名閱讀(在服務器上再進行域名解析就能夠了)

如果不懂如何解析,可以看看我這篇文章:http://blog.csdn.net/lccee/article/details/53945196





點擊“域名閱讀該網站”后,我們就能夠看到這個頁面,以下圖所示。





鼠標拉動轉動條往下看,在這里點擊查看更加詳細的phpinfo()信息。





可以看到在phpinfo文件頁面,這里的Thread Safety顯示的是enabled

Thread Safety是線程安全,而enabled是啟動,那末說明目前是線程安全




目前的PHP版本是php5.4,所以我們應當選擇的兩個DLL文件是

php_pdo_sqlsrv_54_ts.dll 和 php_sqlsrv_54_nts.dll,以下圖





和前面1樣把這兩個DLL復制到對應PHP版本的ext文件夾里面。




這時候候我們回到站點管理界面,右鍵站點打開與之對應的php.ini配文件。




在打開的php.ini文件中

extension=php_sqlsrv_54_ts.dll

extension=php_pdo_sqlsrv_54_ts.dll

加入上面這兩行,然后搜索mssql.secure_connection”這1段。

把“mssql.secure_connection = Off”改成“mssql.secure_connection = On





修改后保存,再次重啟Apache服務,創建1個sqlsrv_connect.php文件,里面寫上以下代碼

<?php


$serverName = "NEPTUNE-PC"; //serverName\instanceName
$connectionInfo = array( "Database"=>"lccee", "UID"=>"sa", "PWD"=>"111111");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
 
if( $conn ) {
     echo "連接成功<br />";
}else{
     echo "連接失敗<br />";
     
}

$query ="select * from phpwamp";
$result = sqlsrv_query($conn, $query);
while($row = sqlsrv_fetch_array($result)){
 
       print_r($row);
       echo "<br>";
}

?>



然后閱讀sqlsrv_connect.php文件,就可以讀出數據庫里面的信息了,以下圖


其他PHP版本也是1樣的道理,依樣畫葫蘆便可,如有疑問可以聯系我。


以后如果時間允許,我也會斟酌制作1個Linux下的PHPWAMP,應網友的要求,Mac系統的也在斟酌,不過對Mac系統不是特別了解,需要1定時間研究研究,最近工作也挺忙的,1個人時間有限,估計進度會很慢。

后期我會在PHPWAMP版本里配置好各版本PHP與MSSQL的連接,到時你們就不用自己配置了



PHP各版本支持MSSQL數據庫的驅動下載地址:http://download.csdn.net/detail/lccee/9732724



相干文章推薦:

自定義設置任意PHP版本教程:http://blog.csdn.net/lccee/article/details/53945468

PHPWAMP在云服務器上的利用:http://blog.csdn.net/lccee/article/details/53945196

網頁加密與網頁亂碼最詳細的分析:http://edu.csdn.net/course/detail/2613

虛擬主機搭建網站的全程視頻案例:http://edu.csdn.net/course/detail/1846

強迫修改所有mysql數據庫密碼:http://blog.csdn.net/lccee/article/details/53955094

強迫去除域名端口號(獨家功能):http://blog.csdn.net/lccee/article/details/53992304



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久精品二三区 | 羞羞首页 | 亚洲精品久久久久影 | 77777亚洲午夜久久多喷 | 亚洲精品福利在线 | 国产91精品高跟丝袜在线 | 亚洲欧美日韩国产综合久 | 琪琪午夜伦埋大全影院 | 国产69成人免费视频观看 | 亚洲精品久久久久中文字幕一区 | 成年人在线观看免费视频 | 日韩小视频在线播放 | 性色成人网| 国产高清在线视频一区二区三区 | 欧美性bbbbbxxxxxddd | 亚洲精品中文字幕乱码三区一二 | 亚洲手机看片 | 91亚洲区国产区精品区 | 玖玖中文字幕 | www.性欧美| 久久综合中文字幕一区二区三区 | 亚洲清色 | 国内精品久久久久久久亚洲 | 欧美伊人久久大香线蕉在观 | 久久 精品 一区二区 | 国产精品福利资源在线 | 国产精品所毛片视频 | 视频网站高清免费 | 国产欧美日韩综合精品一区二区 | 亚洲欧美日韩国产精品一区 | 精品国产一区二区三区免费 | 亚洲欧洲精品国产二码 | 性欧美一区 | 中文字幕在线精品视频入口一区 | 欧美日韩精品 | 性欧美另类老妇高清 | 国产美女亚洲精品久久久久久 | 人善交zzzxxx另类 | 国产又黄又免费aaaa视频 | 亚洲网站免费 | 久久精品观看影院2828 |