當前位置:首頁 » 編程語言 » mssqlphp

mssqlphp

發布時間: 2022-08-05 06:06:18

php如何連接mssql一個實例

你的寫法沒問題,不過可以試試指定埠((local)abc,1433)

另外,連接不上有錯誤信息嗎?錯誤信息發出來看看

我試了下,php連接sqlsrv除了安裝sqlsrv的擴展外還需要安裝 odbc驅動 ,在微軟sqlsrv for php 有介紹 ,根據你下載的 sqlsrv擴展版本安裝 odbc驅動

❷ 求大神詳細講解php連接mssql

為了能讓PHP連接MSSQL,系統需要安裝MSSQL,PHP,且在PHP.ini中的配置中,將 ;extension=php_mssql.dll前面的;去掉

1.連接MSSQL

$conn=mssql_connect("實例名或者伺服器ip","用戶名","密碼");

//測試連接
if($conn)
{
echo "連接成功";
}

2.選擇要連接的資料庫
mssql_select_db("dbname");

3.執行查詢

$rs = mssql_query("select top 1 id,username from tbname",$conn);
// 或者直接執行update,insert等語句,可以不用為返回結果賦值
mssql_query("update tbname set username='niunv' where id=1");

4.獲取記錄集行數
echo mssql_num_rows($rs);

5.獲取記錄集
if($row=mssql_fetch_array($rs))
{
$id = $row[0];//獲取ID欄位值
$username = $row[1];//獲取username欄位值
}

6.獲取新增記錄的ID
將id欄位設置為IDENTITY欄位,執行insert語句以後,就會產生一個
@@IDENTITY 全局變數值,查詢出來就是最後一條新增記錄的ID了.

mssql_query("insert into tbname(username) values ('nv')",$conn);
$rs = mssql_query("select @@IDENTITY as id",$conn);
if($row=mssql_fetch_array($rs))
{
echo $row[0];
}

7.釋放記錄集
mssql_free_result($rs);

8.關閉連接
mssql_close($conn);

注:用PHP操作MSSQL比在ASP連接MYSQL要簡單,所以,當需要MSSQL與MYSQL並存時,用PHP連接MSSQL來操作MYSQL與MSSQL並存比較簡單好用.如果是ASP連接MYSQL,需要安裝一個MYSQL驅動,默認windows的ODBC沒有安裝,很遺憾...

在web伺服器上至少安裝了mssql的客戶端

打開php.ini把;extension=php_mssql.dll
前面的分號去掉

有必要話:需要制定extension_dir

推薦使用 php<=4.0.9
<=5.0.3目前 我還沒有連接成功過4.010和 5.0.3

資料庫的 連接分頁可以到phpe.net上獲取到相應的class

下面是我修改的 一個class

<?php
/**
*mssql 資料庫連接類
**/
class SQL{

var $server;
var $userName;
var $passWord;
var $dataBase;

var $linkID = 0;
var $queryResult;
var $lastInsertID;

var $pageNum = 0;//分頁用---共有幾條數據
var $ER;

/**
*構造函數
**/
function SQL($Server='',$UserName='',$PassWord='',$DataBase=''){
$this->server = $Server;
$this->userName = $UserName;
$this->passWord = $PassWord;
$this->dataBase = $DataBase;
}
/**
*資料庫連接
**/
function db_connect(){
$this->linkID = mssql_pconnect($this->server,$this->userName,$this->passWord);
if(!$this->linkID){
$this->ER = "db_connect($this->server,$this->userName,$this->passWord) error";
return 0;
}
if (!mssql_select_db($this->dataBase,$this->linkID)) {
$this->ER = "mssql_select_db($this->dataBase,$this->lastInsertID) error";
return 0;
}
return $this->linkID;
}

/**public
* function: Check the database, if exist then select
* exist: return 1
* not exist: return 0
*/
function selectDatabase(){
if(mssql_select_db($this->dataBase))
return 1;
else
return 0;
}

/**
*數據操作
**/
function query($Str){
if ($this->linkID == 0) {
$this->ER = "資料庫還沒有連接!!";
}

$this->queryResult = mssql_query($Str);
//$this->queryResult = mssql_query($Str,$this->linkID);
if (!$this->queryResult) {

$this->ER = "$Str.沒有操作成功,query error!!";
return 0;//****************對於php 4.3.9以上版本的錯誤用1
}
return $this->queryResult;
}

/**
*數據獲取
**/
function fetch_array($result){
if($result != "") $this->queryResult = $result;
$rec =mssql_fetch_array($this->queryResult);

if(is_array($rec)){
return $rec;

}

//$this->ER = "沒有獲取數據!";
return 0;
}

/**public
* function: Free the Query Result
* success return 1
* failed: return 0
*/
function freeResult($result=""){
if($result != "") $this->queryResult = $result;
return mssql_free_result($this->queryResult);
}

/**
*獲取影響的的行數
*獲取操作過的行數
**/
function num_rows($result=""){
if ($result != "") {
$this->queryResult = $result;
$row = mssql_num_rows($this->queryResult);
return $row;
}
}

/**
*獲取查詢結果---多個
**/
function result_ar($str=''){
if (empty($str)) {
return 0;
}
$back = array();
$this->queryResult = $this->query($str);

while ($row = $this->fetch_array($this->queryResult)) {
$back[] = $row;
}
return $back;
}

/**
*資料庫信息分頁
*$Result 資料庫操作
*str ==sql語句
*page ==第幾頁
*showNum ==顯示幾頁
*/
function page($Str,$Page=0,$ShowNum=5){
$back = array();//返回數據
$maxNum = 0;
if ($Str == "") {
$this->ER = "沒有數據";
return 0;
}
$this->queryResult = $this->query($Str);
if($this->queryResult){
if($Page==""){
$nopa=0;
}else{
$nopa = ($Page-1)*$ShowNum;
if ($nopa<0) {
$nopa = 0;
}
}
$maxNum=$this->num_rows($this->queryResult);
$k=0;
$i=0;
$dd=$this->fetch_array($this->queryResult);

while($dd&&$nopa<=$maxNum&&$i<$ShowNum){
if($nopa >= $maxNum) $nopa = $maxNum;
mssql_data_seek($this->queryResult,$nopa);

$row=$this->fetch_array($this->queryResult);

$nopa++;
$i++;
$back[] = $row;

if ($nopa >=$maxNum) {
break;
}
}
}
$this->pageNum = $maxNum;
return $back;
}

/**
*分頁的html頁碼
*/
function page_html($DataNum=0,$Page=1,$ShowNum=3,$web,$Post=''){
if ($DataNum == 0) {
$back = "沒有要查詢的數據";
}else {
if ($ShowNum<=0) {
$ShowNum = 3;
}
if ($Page<=0) {
$Page = 1;
}
if (empty($web)) {
$web = "#";
}
$pageNum = ceil($DataNum/$ShowNum);
if ($Page <= 1) {
$top = "首頁<<";
}else {
$top = "<a href='".$web."?page=0&".$Post."' target='_self'>首頁<< </a>";
}
if ($Page !==1) {
$upPage = "<a href='".$web."?page=".($Page-1)."&".$Post."' target='_self'>上一頁</a>";
}else {
$upPage = "上一頁";
}
if ($Page < $pageNum) {
$downPage = "<a href='".$web."?page=".($Page+1)."&".$Post."' target='_self'>下一頁</a>";
}else {
$downPage = "下一頁";
}
if ($Page == $pageNum) {
$foot = ">>尾頁";
}else {
$foot = "<a href='".$web."?page=".$pageNum."&".$Post."' target='_self'> >>尾頁</a>";
}

$back = <<<EOT

共 $pageNum 頁
第 $Page/$pageNum 頁 $top $upPage $downPage $foot
EOT;
}
return $back;
}
}//end class
?>

以上就是PHP連接MSSQL方法的總結,

❸ 如何用PHP連接MSSQL資料庫

windows下面nbsp;nbsp;要安裝mssql或者,mssql客戶端nbsp;nbsp;安裝以後檢查在你的系統目錄下面是不是有ntwdblib.dll文件,如果有請繼續(一般安裝了mssql都會有);nbsp;nbsp;然後啟動mssql資料庫服務nbsp;nbsp;1:在php.ini文件里設置如下,找到nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;;extension=php_mssql.dllnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;把前面的分號去掉。2:找到extension_dirnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;=nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;d:extensionnbsp;nbsp;你的php.ini裡面可能不是d:extensionnbsp;nbsp;改成在php安裝目錄下面的extensions目錄下面的php_mssql.dll,所在的路徑,如果你沒有把它移動到其他地方(假設你的php安裝路徑是d:php)nbsp;nbsp;就改成extension_dir=d:phpextensionsnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; 3:把ntwdblib.dll拷貝到c:winntsystem32目錄下。 ntwdblib.dll的主要作用是提供sqlnbsp;server連接服務。nbsp; 我用的php版本是4.3.9,在安裝它的服器的nbsp;windows/system32/nbsp;下我查到ntwdblib.dll文件的版本是2000.2.8.0nbsp;,這個版本支持的是sqlnbsp;servernbsp;7.0,nbsp;因為安裝PHP時會把dlls下面的所有文件覆蓋到系統nbsp;目錄下,所以當我用它去連接nbsp;sqlnbsp;servernbsp;2000nbsp;的時候當然會是無法連接了。nbsp; 後來我在一台正常安裝sqlnbsp;servernbsp;2000nbsp;的伺服器上查到nbsp;ntwdblib.dll的版本是nbsp;2000.80.2039.0,sql2000的ntdblib.dll文件拷貝過來覆蓋到本機的windows/system32下,重啟伺服器後,一切正常。nbsp; 補充:如果資料庫名的開頭是數字時也會提示無法打開,這時要做的很簡單,把資料庫的名字用中括弧nbsp;[nbsp;]nbsp;括起來就搞定了,如nbsp;123bBSnbsp;改寫成nbsp;[123bBS]就沒有問題了,另外如果你的資料庫名字與sqlnbsp;server中的保留字沖突的話也會出現這種情況,用中括弧的方法一樣可以解決。nbsp; 然後重新啟動web伺服器,假設你的mssql安裝在本機上就可以用下面的測試nbsp;。nbsp;lt;?phpnbsp;nbsp;$con=mssql_connect(「localhost「,「user「,「password「);nbsp;nbsp;echonbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;「lt;brgt;連接成功「;nbsp;nbsp;elsenbsp;nbsp;echonbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;「連接失敗「;nbsp;nbsp;?gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; 祝你好運nbsp;nbsp;可以把localhost改成你安裝mssql的機器名稱nbsp;。

❹ 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+mssql 和 php+mysql 優點缺點

一、PHP+MySql

優點:

1) MySql是一個快速、多線程、多用戶的SQL資料庫伺服器。

2) MySql的核心程序採用完全的多線程編程

3)MySql可運行在不同的操作系統下。

4) MySql有一個非常靈活而且安全的許可權和口令系統。

5) MySql支持ODBC for Windows。

6)MySql支持大型的資料庫。

7) MySql擁有一個非常快速而且穩定的基於線程的內存分配系統,可以持續使用面不必擔心其穩定性。

8) 強大的查詢功能。

9)PHP為MySql提供了強力支持,PHP中提供了一整套的MySql函數,對MySql進行了全方位的支持。

缺點:

比較的難學;

MySQL不完全支持陌生的關鍵詞;

MySQL也缺乏一些存儲程序的功能;

使用預設的ip埠,但是有時候這些ip也會被一些黑客闖入;

使用myisam配置,如果你不慎損壞資料庫,結果可能會導致所有的數據丟失;

二、PHP+MsSql

優點:

上手容易; 兼容性良好; 利於構築"敏捷性商務";

缺點:

只能在windows 上運行,沒有絲毫的開放性,操作系統的系統的穩定對資料庫是十分重要的。

並行實施和共存模型並不成熟。很難處理日益增多的用戶數和數據卷。伸縮性有限;

安全性方面,沒有獲得任何安全證書;

客戶端支持及應用模式 ,是C/S結構,只支持windows客戶,可以用ADO, DAO,OLEDB,

ODBC連接;

不是免費的;

數據不容易恢復;

❻ php環境支持mssql,必須安裝sql嗎

可以的,我的筆記本就是惠普的,完全可以安裝
sql
server
2012
以及windows2012,
如果你是win8系統fromwork就完全支持了,如果你是win7系統就要升級fromwork,如果你是windows2012,也直接可以安裝。祝你好運

❼ 查看PHP是否支持mssql

看看有沒有mssql這一項.如果有就說明支持,如果沒有可以手動在php.ini裡面開啟.

❽ php連接MSSQL

為了能讓PHP連接MSSQL,首先需要一些設置:

1.打開php.ini,將
;extension=php_mssql.dll前面的分號(;)去掉,然後重啟 Apache。

如果不行的話,進行第2步:
2.檢查一下你的php安裝目錄下的ext下面有沒有php_mssql.dll存在,如果沒有,從www.php.net重新下載一個php安裝,要下載那個壓縮包的才是最完整的。
如果ext目錄下已經有了php_mssql.dll,那麼你需要打開php.ini,找到
extension_dir = "./ext"
這一句(或者類似的,不一定是"./ext",查找"extension_dir"即可),然後把"./ext"修改為你的php安裝目錄的ext目錄的完整路徑,比如"c:/php/ext",或者"c:/program files/php/ext"這樣。然後再次重啟 Apache。
(如果還是不行的話,可能就需要第3步了,
3.把 php 目錄下的 ntwdblib.dll 和 php_mssql.dll 復制到 system32的系統目錄中去,然後重起Apache。


然後就可以連接MSSQL,並進行一些操作了。
1.連接MSSQL
$conn=mssql_connect("實例名或者伺服器IP","用戶名","密碼");

//測試連接
if($conn)
{
echo "連接成功";
}

2.選擇要連接的資料庫
mssql_select_db("dbname");

3.執行查詢
$rs = mssql_query("select top 1 id,username from tbname",$conn);
或者直接執行update,insert等語句,可以不用為返回結果賦值
mssql_query("update tbname set username='niunv' where id=1");

4.獲取記錄集行數
echo mssql_num_rows($rs);

5.獲取記錄集
if($row=mssql_fetch_array($rs))
{
$id = $row[0];//獲取ID欄位值
$username = $row[1];//獲取username欄位值
}

6.獲取新增記錄的ID
將id欄位設置為IDENTITY欄位,執行insert語句以後,就會產生一個 @@IDENTITY 全局變數值,查詢出來就是最後一條新增記錄的ID了.
mssql_query("insert into tbname(username) values ('nv')",$conn);
$rs = mssql_query("select @@IDENTITY as id",$conn);
if($row=mssql_fetch_array($rs))
{
echo $row[0];
}

7.釋放記錄集
mssql_free_result($rs);

8.關閉連接
mssql_close($conn);

❾ 如何讓php5.5連接上mssql

PHP 查看是否支持MSSQL的方法:
檢測是否存在mssql_connect函數;
<?php
if (function_exists("mssql_connect")){
echo 'PHP環境支持MSSQL!';
}else{
echo '環境不支持MSSQL資料庫!';
}

查看phpinfo中mssql配置項是否開啟,如果存在mssql配置項,則支持;否則,不支持。;

配置php連接mssql:
開啟mssql擴展;打開php.ini配置文件,去掉extension=php_pdo_mssql.dll和extension=php_mssql.dll前面的「;」然後重啟apache伺服器;
將PHP目錄下ext目錄下的php_mssql.dll和ntwdblib.dll,復制到WINDOWS/system32文件夾下,然後重啟apache即可。

熱點內容
剪力牆壓腳筋大小怎麼配置 發布:2025-01-23 00:50:53 瀏覽:534
騰訊雲cos雲伺服器 發布:2025-01-23 00:46:47 瀏覽:63
如何給安卓平板刷上MIUI系統 發布:2025-01-23 00:45:51 瀏覽:73
2開方演算法 發布:2025-01-23 00:27:21 瀏覽:16
如何看自己steam伺服器 發布:2025-01-23 00:07:21 瀏覽:710
armlinux命令 發布:2025-01-23 00:01:08 瀏覽:137
戰地4亞洲伺服器為什麼被攻擊 發布:2025-01-22 23:45:42 瀏覽:671
javascript反編譯 發布:2025-01-22 23:37:57 瀏覽:432
夏天來了你的巴氏奶存儲對嗎 發布:2025-01-22 23:37:56 瀏覽:206
求最大值c語言 發布:2025-01-22 23:22:35 瀏覽:250