首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

php联接mssql的一些方法总结

2012-07-30 
php连接mssql的一些方法总结为了能让PHP连接MSSQL,系统需要安装MSSQL,PHP,且在PHP.ini中的配置中,将??????

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没有安装,很遗憾...
?????
?????
?????
? 1.在web服务器上至少安装了mssql的客户端???
? 2.打开php.ini把;extension=php_mssql.dll?? 前面的分号去掉?
??????? 有必要话:需要制定extension_dir?
? 3.推荐使用?? php<=4.0.9???? <=5.0.3目前?? 我还没有连接成功过4.010和?? 5.0.3?
? 4.数据库的?? 连接分页可以?? 到???? phpe.net上获取到相应的class?
? 下面是我根据那里?? 修改的?? 一个class

  1. <?php?? ??? ?
  2. class???SQL{?? ?? ?
  3. var???$server;?? ?var???$userName;?? ?
  4. var???$passWord;?? ?var???$dataBase;?? ?
  5. ? ?var???$linkID???=???0;?? ?
  6. var???$queryResult;?? ?var???$lastInsertID;?? ?
  7. ? ?var???$pageNum???=???0;//分页用---共有几条数据?? ?
  8. var???$ER;?? ?? ?
  9. ?? ?function?????SQL($Server='',$UserName='',$PassWord='',$DataBase=''){?? ?
  10. $this->server???=???$Server;?? ?$this->userName???=???$UserName;?? ?
  11. $this->passWord???=???$PassWord;?? ?$this->dataBase???=???$DataBase;?? ?
  12. }?? ??? ?
  13. function???db_connect(){?? ?$this->linkID???=???mssql_pconnect($this->server,$this->userName,$this->passWord);?? ?
  14. if(!$this->linkID){?? ?$this->ER???=???"db_connect($this->server,$this->userName,$this->passWord)???error";?? ?
  15. return???0;?? ?}?? ?
  16. if???(!mssql_select_db($this->dataBase,$this->linkID))???{?? ?$this->ER???=???"mssql_select_db($this->dataBase,$this->lastInsertID)???error";?? ?
  17. return???0;?? ?}?? ?
  18. return???$this->linkID;?? ?}?? ?
  19. ? ??? ?
  20. function???selectDatabase(){?? ?if(mssql_select_db($this->dataBase))?? ?
  21. return???1;?? ?else?? ?
  22. return???0;?? ?}?? ?
  23. ? ??? ?
  24. function?????query($Str){?? ?if???($this->linkID???==???0)???{?? ?
  25. $this->ER???=???"数据库还没有连接!!";?? ?}?? ?
  26. ? ???????????????$this->queryResult???=???mssql_query($Str);?????? ?
  27. //$this->queryResult???=???mssql_query($Str,$this->linkID);?? ?if???(!$this->queryResult)???{?? ?
  28. ????? ?? ?
  29. $this->ER???=???"$Str.没有操作成功,query???error!!";?? ?return???0;/?? ?
  30. function???fetch_array($result){?? ?if($result???!=???"")???$this->queryResult???=???$result;?? ?
  31. $rec???=mssql_fetch_array($this->queryResult);?? ?? ?
  32. if(is_array($rec)){?? ?return???$rec;?? ?
  33. ? ?}?? ?
  34. ? ?//$this->ER???=???"没有获取数据!";?? ?
  35. return???0;?? ?}?? ?
  36. ? ??? ?
  37. function???freeResult($result=""){?? ?if($result???!=???"")???$this->queryResult???=???$result;?? ?
  38. return???mssql_free_result($this->queryResult);?? ?}?? ?
  39. ??????? ??? ?
  40. function???num_rows($result=""){?? ?if???($result???!=???"")???{?? ?
  41. $this->queryResult???=???$result;?? ?$row???=???mssql_num_rows($this->queryResult);?? ?
  42. return???$row;?? ?}?? ?
  43. }?? ?????????? ?
  44. ?? ?function???result_ar($str=''){?? ?
  45. if???(emptyempty($str))???{?? ?return???0;?? ?
  46. }?? ?$back???=???array();?? ?
  47. $this->queryResult???=???$this->query($str);?? ?? ?
  48. while???($row???=???$this->fetch_array($this->queryResult))???{?? ?$back[]???=???$row;?? ?
  49. }?? ?return???$back;?? ?
  50. }?? ?? ?
  51. ?? ?function???page($Str,$Page=0,$ShowNum=5){?? ?
  52. $back???=???array();//返回数据?? ?$maxNum???=???0;?? ?
  53. if???($Str???==???"")???{?? ?$this->ER???=???"没有数据";?? ?
  54. return?????0;?? ?}?? ?
  55. $this->queryResult???=???$this->query($Str);?? ?if($this->queryResult){?? ?
  56. if($Page==""){?? ?$nopa=0;?? ?
  57. }else{?? ?$nopa???=???($Page-1)*$ShowNum;?? ?
  58. if???($nopa<0)???{?? ?$nopa???=???0;?? ?
  59. }?? ?}?? ?
  60. $maxNum=$this->num_rows($this->queryResult);?? ?$k=0;?? ?
  61. $i=0;?? ?$dd=$this->fetch_array($this->queryResult);?? ?
  62. ? ?while($dd&&$nopa<=$maxNum&&$i<$ShowNum){?? ?
  63. if($nopa???>=???$maxNum)?????$nopa???=???$maxNum;?? ?mssql_data_seek($this->queryResult,$nopa);?? ?
  64. ? ?$row=$this->fetch_array($this->queryResult);?? ?
  65. ? ?$nopa++;?? ?
  66. $i++;?? ?$back[]???=???$row;?? ?
  67. ? ?if???($nopa???>=$maxNum)???{?? ?
  68. break;?? ?}?? ?
  69. }?? ?}?? ?
  70. $this->pageNum???=???$maxNum;?? ?return???$back;?? ?
  71. }?? ?? ?
  72. ?? ?function?????page_html($DataNum=0,$Page=1,$ShowNum=3,$web,$Post=''){?? ?
  73. if???($DataNum???==???0)???{?? ?$back???=?????"没有要查询的数据";?? ?
  74. }else???{?? ?if???($ShowNum<=0)???{?? ?
  75. $ShowNum???=???3;?? ?}?? ?
  76. if???($Page<=0)???{?? ?$Page???=???1;?? ?
  77. }?? ?if???(emptyempty($web))???{?? ?
  78. $web???=???"#";?? ?}?? ?
  79. $pageNum???=???ceil($DataNum/$ShowNum);?? ?if???($Page???<=???1)???{?? ?
  80. $top???=?????"首页<<";?? ?}else???{?? ?
  81. $top???=???"<a???href='".$web."?page=0&".$Post."'???target='_self'>首页<<???</a>";?? ?}?? ?
  82. if???($Page???!==1)???{?? ?$upPage???=?????"<a???href='".$web."?page=".($Page-1)."&".$Post."'???target='_self'>上一页</a>";?? ?
  83. }else???{?? ?$upPage???=???"上一页";?? ?
  84. }?? ?if???($Page???<???$pageNum)???{?? ?
  85. $downPage???=???"<a???href='".$web."?page=".($Page+1)."&".$Post."'???target='_self'>下一页</a>";?? ?}else???{?? ?
  86. $downPage???=???"下一页";?? ?}?? ?
  87. if???($Page???==???$pageNum)???{?? ?$foot???=???">>尾页";?? ?
  88. }else???{?? ?$foot???=???"<a???href='".$web."?page=".$pageNum."&".$Post."'???target='_self'>???>>尾页</a>";?? ?
  89. }?? ?? ?
  90. $back???=???<<<EOT?? ?? ?
  91. 共???$pageNum???页???&nbsp;&nbsp;?? ?第???$Page/$pageNum???页???$top???&nbsp;???$upPage???&nbsp;???$downPage?????&nbsp;???$foot?? ?
  92. EOT;?? ?}?? ?
  93. return???$back;?? ?}?? ?
  94. }//end???class?? ??>?


热点排行