php鏈接sqlserver,php連接mysql

本文目錄一覽:

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,安裝後就可以了。

PHP連接sqlserver2008,怎麼連接指定ip地址上的數據庫

首先要使用SQL

Server

Driverfor

PHP,下載好對應的版本後,在PHP中添加下載好的擴展。

部分代碼:

$serverName

=

“localhost”;

//數據庫服務器地址$uid

=

“sa”;

//數據庫用戶名$pwd

=

“123”;

//數據庫密碼$connectionInfo

=

array(“UID”=$uid,”PWD”=$pwd,

“Database”=”cart”);$conn

=

sqlsrv_connect(

$serverName,

$connectionInfo);if(

$conn

==

false){

echo

“連接失敗!”;

die(

print_r(sqlsrv_errors(),

true));}

php 怎麼連接中文名稱數據庫(SqlServer)?

php頁面是utf八的編碼,然後命令發給數據庫的時候轉換下編碼,例子見圖

php連接sqlserver2008失敗

這個是提示你沒有安裝MSSQl 2012的驅動擴展。

從Sql Server 2008開始,不再支持PHP自帶的驅動程序,需要使用微軟提供的驅動程序。此驅動程序拋棄了mssql系列函數,只能使用sqlsrv和pdo的方式進行連接操作。

步驟1:下載微軟Sql Server官方驅動程序,下載地址:

步驟2:安裝Sql Server的驅動擴展

將下載好的exe程序打開,解壓會釋放出很多.dll文件,將對應的dll文件拷貝到你的php擴展包目錄下的ext目錄。

解壓得到的dll文件中文件名的數字部分(例如52,53)代表對應不同的PHP版本,文件名中帶n的為非線程安全的,文件名中的vc對應的是VC版本,VC6可以部署到Apach2.X版本,VC9可部署到更高版本Apache。

首先,需要確定你的PHP的版本,假設PHP的版本為5.3.x

其次,要確定你的PHP運行的是線程安全的還是非線程安全的(假設線程安全)。

另外,還需要確認的版本(假設Apache2.2)。

那麼,你對應的文件應當是php_pdo_sqlsrv_53_ts_vc6.dll(PDO鏈接)和php_sqlsrv_53_ts_vc6.dll(sqlsrv鏈接),將這兩個文件拷貝到你的PHP的擴展包下的ext目錄,然後要修改php.ini,增加這兩項擴展的支持:

extension=php_sqlsrv_53_ts_vc6.dll

extension=php_pdo_sqlsrv_53_ts_vc6.dll

保存後重啟Apache即可。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/195442.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 20:34
下一篇 2024-12-02 20:34

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Avue中如何按照後端返回的鏈接顯示圖片

    Avue是一款基於Vue.js、Element-ui等技術棧的可視化開發框架,能夠輕鬆搭建前端頁面。在開發中,我們使用到的圖片通常都是存儲在後端服務器上的,那麼如何使用Avue來展…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • LwIP短鏈接client例程用法介紹

    本文將詳細闡述LwIP短鏈接client例程,該例程是基於LwIP協議棧實現的一個短鏈接客戶端程序,適用於嵌入式設備上進行互聯網通信。 一、LwIP介紹 LwIP(Lightwei…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論