MS SQL sqlsrv PHP5.3.5
環境: Apache 2.2.22、PHP 5.3.5、データベース MSSQL2008<? session_start();//连接数据库服务器 $Link=mssql_connect(".","sa","");//选择数据库 mssql_select_db("frienddb");//定义SQL语句 $name=$_REQUEST["txtName"]; $address=$_REQUEST["txtAddress"]; $group=$_REQUEST["txtGroup"]; $sqlstr=""; if($name!="") { $sqlstr="mName='".$name."'"; } if($sqlstr!="") { if($address!="") { $sqlstr=$sqlstr." and mAddress='".$address."'"; } } else { if($address!="") { $sqlstr="mAddress='".$address."'"; } } if($sqlstr!="") { if($group!="") { $sqlstr=$sqlstr." and tname='".$group."'"; } } else { if($group!="") { $sqlstr="tname='".$group."'"; } } if($_REQUEST["Submit"]!="") { $_SESSION["sqltxt"]=$sqlstr; } else { $sqlstr=$_SESSION["sqltxt"]; } echo $_SESSION["sqltxt"]; if($sqlstr!="") { $Query="select count(*) from myfriends,team where myfriends.tid=team.tid and ".$sqlstr; } else { $Query="select count(*) from myfriends,team where myfriends.tid=team.tid "; } $rs=mssql_query($Query);//查询记录总数 $cntrow=mssql_fetch_row($rs); $cnt=$cntrow[0];//记录总数 $PageSize=10;//每页显示10条数据 //计算总页数 if($cnt%$PageSize==0) { $PageCnt=$cnt/$PageSize; } else { $PageCnt=floor($cnt/$PageSize)+1;//总页数 } $CurrentPage=floor($_REQUEST["pid"]);//当前页,如果为小数则当前页取值为小于此小数的整数 //当前页小于1 if($CurrentPage<1) { $CurrentPage=1; } //当前页大于总页数 if($CurrentPage>$PageCnt) { $CurrentPage=$PageCnt; } //设置起始页码 $Start=$CurrentPage-3; //设置终止页码 $End=$CurrentPage+3; //上一页 $PrvPage=$CurrentPage-1; //下一页 $NextPage=$CurrentPage+1; if($Start<1) { $Start=1; $End=$Start+6; } if($End>$PageCnt) { $Start=$PageCnt-6; $End=$PageCnt; } if($sqlstr!="") { $sqlstr="select top ".$PageSize." mName,mSex,mBirthday,mTel,mAddress,tname from myfriends,team where myfriends.tid=team.tid and mid not in (select top ".($CurrentPage-1)*$PageSize." mid from myfriends) and ".$sqlstr; } else { $sqlstr="select top ".$PageSize." mName,mSex,mBirthday,mTel,mAddress,tname from myfriends,team where myfriends.tid=team.tid and mid not in (select top ".($CurrentPage-1)*$PageSize." mid from myfriends) "; } //echo $sqlstr; $result=mssql_query($sqlstr);//返回结果集 /* mssql_fetch_row//取行数据 mssql_fetch_field//取列数据 */ ?><html><title></title><head></head><link href="css/demo.css" type="text/css" rel="stylesheet" rev="stylesheet"/><body><form><div id="outDiv"> <table border="1" id="maintable" style="width:60%"> <tr> <? for($j=0;$j<6;$j++) { $field=mssql_fetch_field($result); echo "<td>".$field->name."</td>"; } ?> </tr> <? while($row=mssql_fetch_row($result)) { ?> <tr> <? for($i=0;$i<count($row);$i++) { echo "<td>$row[$i]</td>"; } ?> </tr> <? } ?> <? if($CurrentPage==1) { $PrvLink="<li class=\"nolink\">« Previous Page</li>"; $NextLink="<li><a href=\"newpage.php?pid=$NextPage\">Next Page »</a></li>"; } else if($CurrentPage==$PageCnt) { $PrvLink="<li><a href=\"newpage.php?pid=$PrvPage\">« Previous Page</a></li>"; $NextLink="<li class=\"nolink\">Next Page »</li>"; } else { $PrvLink="<li><a href=\"newpage.php?pid=$PrvPage\">« Previous Page</a></li>"; $NextLink="<li><a href=\"newpage.php?pid=$NextPage\">Next Page »</a></li>"; } ?> <tr> <td colspan="6"> <div id="pages"> <ul> <?=$PrvLink?> <? for($p=$Start;$p<=$End;$p++) { if($p==$CurrentPage) { echo "<li class=\"current\">$p</li>"; } else { ?> <li><a href="newpage.php?pid=<?=$p?>"><?=$p?></a></li> <? } } ?> <?=$NextLink?> </ul> </div> </td> </tr> </table> </div></form></body></html>
通常、mssql を sqlsrc に置き換えるだけですが、各パラメータの位置と意味に注意してください。
sqlsrv_ にない関数もあります。たとえば、mssql_fetch_row に対応する sqlsrv_fetch_row が存在しません。代わりに sqlsrv_fetch_array/sqlsrv_fetch_objec を使用します。
詳細についてはマニュアルを参照してください
一般的には、mssql を sqlsrc に置き換えるだけですが、各パラメータの位置と意味に注意してください。
sqlsrv_ にない関数もあります。たとえば、mssql_fetch_row に対応する sqlsrv_fetch_row が存在しません。代わりに sqlsrv_fetch_array/sqlsrv_fetch_objec を使用します。
詳細についてはマニュアルを参照してください
この点に関するマニュアルのリファレンスを提供してもらえますか?インターネットから多くの PHP マニュアルをダウンロードしましたが、そのどれにもこの機能 (sqlsrv) がありません
http://www.php.net/manual/zh/book.sqlsrv.php
http://php.net/マニュアル/zh /book.sqlsrv.php