本文目錄一覽:
- 1、如何用php連接sql server數據庫?
- 2、PHP如何連接SQL sever 2000數據庫?
- 3、如何用PHP連接SQL Server
- 4、php怎麼連接sql server 2012
- 5、php連接mssql的方法 怎樣實現php連接mssql
- 6、php 5.6怎麼連接sql2005
如何用php連接sql server數據庫?
我用的PHP版本是php5.6.12,mssql數據庫版本為2008
兩種途徑:
1、直接連接
$servname=”CAPTAINHERO567″;
$conninfo=array( “Database”=”netdata”, “UID”=”lxz2005”, “PWD”=”831140”);
$conn=sqlsrv_connect($servname, $conninfo);
$sql=”select * from Pinfo”;
$db=sqlsrv_query($conn, $sql);
while($row=sqlsrv_fetch_array($db))
{
echo(“div”.iconv(“GB2312″,”UTF-8”,$row[“Pname”]).”/div”);
}
2、使用PDO抽象數據層連接
$hostname = “192.168.1.100”;
$dbname = “Northwind”;
$username = “sa”;
$pwd = “pwd100”;
$dsn=”sqlsrv:Server=$hostname;database=$dbname”;
$conn = new PDO ($dsn,$username,$pwd);
$conn-setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo “mssql database connnection sucessed!”;
PHP如何連接SQL sever 2000數據庫?
class
connCls{
private
$host;
//主機名
private
$name;
//用戶名
private
$pass;
//密碼
private
$db;
//數據庫名
private
$type;
//編碼類型
如:GBK,UTF-8
等
public
$sql;
//sql語句
public
$tbl;
//表
public
$n;
//表中的字段
public
$v;
//表中字段的值
public
$id;
//獲取的id字段
public
$result=1;//結果集
public
$page;
//當前頁
function
__construct($host,$name,$pass,$db,$type){
//構造函數初始化
$this-host=$host;
$this-name=$name;
$this-pass=$pass;
$this-db=$db;
$this-type=$type;
$this-connect();
//調用連接數據庫函數
}
//———————————————————————————
function
connect(){
//定義連接數據庫函數
$link=@mysql_connect($this-host,$this-name,$this-pass)or
die(“連接數據源失敗!錯誤原因:”.mysql_error());
@mysql_select_db($this-db,$link)or
die(“抱歉,您選擇的數據庫”.$this-db.”不存在!!!”);
mysql_query(“set
names
‘$this-type'”);
//防止出現亂碼
}
//———————————————————————————
function
query($sql){
//定義執行sql語句函數
$this-connect();
$rs=mysql_query($sql);
//執行給定的sql語句
return
$rs;
//返回結果集
}
如何用PHP連接SQL Server
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連接sql server的方法,希望對大家解決類似問題有所幫助。
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連接mssql的方法 怎樣實現php連接mssql
php不論是連接什麼數據庫,得首先保證在php.ini中相關數據庫的擴展是打開的,如
;extension
=
mysql
得把前面的;去掉才表明mysql數據庫的擴展打開了,才能使用,ms
sql也同理。
1。php連接mssql
$conn=mssql_connect(“實例名或者服務器ip”,”用戶名”,”密碼”);
2。php連接mysql
$conn=mysql_connect(“實例名或者服務器ip”,”用戶名”,”密碼”);
從連接中,你也可以看出來,其實不論php和什麼數據庫相連,差別都很小,只是函數名上的差別,如果你進一步使用的話,你也可以發現對數據庫的修改、手稿、更新等操作也只是函數名的差別,通一通百。
php 5.6怎麼連接sql2005
前段時間剛解決這個問題! (這裡有個php5.4的連接方法,可以供參考,php5.6的只需要下載響應的sqlserver擴展)
1、下載微軟提供的dll
地址:
我下的SQLSRV30.EXE,這個exe是一個自解壓文件,下載後雙擊選路徑解壓會得到一堆dll和說明文件。(此處特別注意一下:官網下載的只支持32位的操作系統,如果你的操作系統是64位的,會報錯。筆者之前在這裡堵了好長時間!)
2、將對應自己php版本的dll文件copy到php ext目錄下
ts是指線程安全(ThreadSafe),nts是指線程不安全,得根據安裝的php版本來選擇,如果不確定,就分別嘗試一下;
我用的php5.4,就將php_sqlsrv_54_ts.dll複製到ext目錄下,
例如:D:\Program Files\PHP 5.4\ext
3、修改php.ini文件
增加一行: extension=php_sqlsrv_54_ts.dll
修改一行 : mssql.secure_connection = Off改為on
4、重啟apache
5、配置MS SQL Server2005
a、打開 SQL Server 配置管理器:SQL Server Configuration Manager,打開協議;
b、啟用「Named Pipes」和「TCP/IP」,默認是已禁用的;
c、右鍵點擊「TCP/IP」,選擇「屬性」,選擇「IP地址」,在」ALLIP「下的「TCP動態端口」後填寫1433;
d、重啟SQL Server。
備註:記得開啟sa登錄。
6、安裝Microsoft SQL Server 2012 Native Client.msi
根據自己系統在PHP服務器所在機器安裝Microsoft SQL Server 2012 Native Client.msi,分X64和X86的。( )
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/251049.html