哦,這個(gè)函數(shù)第一個(gè)參數(shù)是hostname,是主機(jī)地址,不是數(shù)據(jù)庫(kù)名字。比如mysql_connect('localhost', 'roo', ''),連接成功之后再指定數(shù)據(jù)庫(kù),好像是mysql_select_db('xenforo');
創(chuàng)新互聯(lián)公司專注于銅山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供銅山營(yíng)銷型網(wǎng)站建設(shè),銅山網(wǎng)站制作、銅山網(wǎng)頁(yè)設(shè)計(jì)、銅山網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造銅山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供銅山網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
呵呵,太久沒用這個(gè)系列的函數(shù)了,大致意思是這樣。
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ú)法使用。 微軟專門為PHP出了個(gè)SQL Server的擴(kuò)展(Windows版本的),對(duì)于Windows下使用php開發(fā)SQL Server應(yīng)用來(lái)說,這個(gè)擴(kuò)展有利于利用SQL Server來(lá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過期后就不能用了,然后重裝還裝不上,最后重裝系統(tǒng)才裝上
2:確定SQL裝的時(shí)候用的是混合認(rèn)證模式,或SQL驗(yàn)證模式,然后打開php的配置文件(php.ini),開啟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還是比較常見的。實(shí)踐證明低版本的php連接數(shù)據(jù)庫(kù)成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專門的擴(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ù)器,打開phpinfo();看到以下狀態(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_開頭的函數(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ù)源名稱并且未指定默認(rèn)驅(qū)動(dòng)程序'(length=71)
'message' =string'[Microsoft][ODBC 驅(qū)動(dòng)程序管理器] 未發(fā)現(xiàn)數(shù)據(jù)源名稱并且未指定默認(rèn)驅(qū)動(dòng)程序'(length=71)
解決方法:需要安裝SQL Server 2008 Native Client ODBC Driver,下載安裝文件sqlncli.msi,安裝后就可以了。
創(chuàng)建php文件
代碼如下
?php
mysql_connect('localhost','mysql賬號(hào)','mysql密碼') or die('數(shù)據(jù)庫(kù)連接失敗');
$sql="CREATE DATABASE `mydb`";
$result = mysql_query($sql);
if($result==true){
echo '數(shù)據(jù)庫(kù)創(chuàng)建成功';
}
mysql_select_db('mydb');
$sql="CREATE TABLE myTable (`id` INT(10) AUTO_INCREAMENT PRIMARY KEY,
`something` VARCHAR(10) NOT NULL
)";
$result = mysql_query($sql);
if($result==true){
echo '表創(chuàng)建成功';
}
//至此,數(shù)據(jù)庫(kù),表創(chuàng)建成功,你就可以寫自己的sql語(yǔ)句經(jīng)行數(shù)據(jù)庫(kù)操作了
?
創(chuàng)建數(shù)據(jù)庫(kù)
選擇開始菜單中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打開【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份驗(yàn)證建立連接。
在【對(duì)象資源管理器】窗口中展開服務(wù)器,然后選擇【數(shù)據(jù)庫(kù)】節(jié)點(diǎn)
右鍵單擊【數(shù)據(jù)庫(kù)】節(jié)點(diǎn),從彈出來(lái)的快捷菜單中選擇【新建數(shù)據(jù)庫(kù)】命令。
執(zhí)行上述操作后,會(huì)彈出【新建數(shù)據(jù)庫(kù)】對(duì)話框。在對(duì)話框、左側(cè)有3個(gè)選項(xiàng),分別是【常規(guī)】、【選項(xiàng)】和【文件組】。完成這三個(gè)選項(xiàng)中的設(shè)置會(huì)后,就完成了數(shù)據(jù)庫(kù)的創(chuàng)建工作,
在【數(shù)據(jù)庫(kù)名稱】文本框中輸入要新建數(shù)據(jù)庫(kù)的名稱。例如,這里以“新建的數(shù)據(jù)庫(kù)”。
在【所有者】文本框中輸入新建數(shù)據(jù)庫(kù)的所有者,如sa。根據(jù)數(shù)據(jù)庫(kù)的使用情況,選擇啟用或者禁用【使用全文索引】復(fù)選框。
在【數(shù)據(jù)庫(kù)文件】列表中包括兩行,一行是數(shù)據(jù)庫(kù)文件,而另一行是日記文件。通過單擊下面的【添加】、【刪除】按鈕添加或刪除數(shù)據(jù)庫(kù)文件。
切換到【選項(xiàng)頁(yè)】、在這里可以設(shè)置數(shù)據(jù)庫(kù)的排序規(guī)則、恢復(fù)模式、兼容級(jí)別和其他屬性。
切換到【文件組】頁(yè),在這里可以添加或刪除文件組。
完成以上操作后,單擊【確定】按鈕關(guān)閉【新建數(shù)據(jù)庫(kù)】對(duì)話框。至此“新建的數(shù)據(jù)”數(shù)據(jù)庫(kù)創(chuàng)建成功。新建的數(shù)據(jù)庫(kù)可以再【對(duì)象資源管理器】窗口看到。
phpmyadmin不是數(shù)據(jù)庫(kù),而是一套管理mysql數(shù)據(jù)庫(kù)的工具,現(xiàn)在你的問題是php如何連接mysql數(shù)據(jù)庫(kù),可以查查,網(wǎng)上都有。
在連接數(shù)據(jù)庫(kù)文件中把你的IP(一般是localhost)換成你要連接的IP,把mysql的登錄帳戶和密碼換成你要連的,可以用一樓的方法,先用mysql測(cè)試你是否有權(quán)限連接異地?cái)?shù)據(jù)庫(kù)的授權(quán)