已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 教程

标题: PHP与mssql

作者: @Ta

时间: 2017-04-12

点击: 2865

PDO_ODBC数据源,各个版本都支持,如下图
708d433cd5ba21e791e2df2a725e889b13445.png
//连接数据库
$conn = new PDO('odbc:Driver={SQL Server};Server=数据库ip;Database=数据库名;',数据库账号,数据库密码);
//查询
$rs=$conn->query(" ... ");
$row=$rs->fetch();
//执行sql
$conn->exec(" ... ");

因为mssql编码不一样所以输出和输入需要转码
function mssql_($str,$bm1,$bm2){
	$mssql_=iconv($bm1,$bm2,$str);
	return $mssql_;
	//示例:utf-8转gb2312 -> mssql_($content,'utf-8','GB2312//IGNORE')
}



下面是读取柯林程序文章栏目的完整示例
<?php
//字符串截取,正则方式
function api_cutstr($str,$str_a,$str_b){
$cutstr="";
$pattern="/".$str_a."([\w\W]*?)".$str_b."/i";
$content=preg_match_all($pattern, $str, $matches);
if ($content!=0){$cutstr=$matches[1][0];}
return $cutstr;
}
function mssql_($str,$bm1,$bm2){
	$mssql_=iconv($bm1,$bm2,$str);
	return $mssql_;
	//示例mssql_($content,'utf-8','GB2312//IGNORE')
}
$mssql_str=file_get_contents($_SERVER['DOCUMENT_ROOT'].'/web.config');
$mssql_ip=api_cutstr($mssql_str,'KL_SQL_SERVERIP[\w\W]*?value=\"','\"');
$mssql_name=api_cutstr($mssql_str,'KL_SQL_UserName[\w\W]*?value=\"','\"');
$mssql_pass=api_cutstr($mssql_str,'KL_SQL_PassWord[\w\W]*?value=\"','\"');
$mssql_dbname=api_cutstr($mssql_str,'KL_DatabaseName[\w\W]*?value=\"','\"');
$conn = new PDO('odbc:Driver={SQL Server};Server='.$mssql_ip.';Database='.$mssql_dbname.';',$mssql_name,$mssql_pass); 
$page=isset($_GET['page'])?$_GET['page']:1;
$pagesize=10;//每页数量
$offset=($page-1)*$pagesize;
$rs_=$conn->query("select top ".$pagesize." id,userid,book_title from [wap_book] where id not in (select top ".$offset." id from [wap_book] where userid=1000) and userid=1000");
foreach($rs_->fetchAll() as $i => $rs){
	echo $rs['id'];
	echo mssql_($rs['book_title'],'GB2312//IGNORE','utf-8');
	echo '<hr>';
}
//查询总量
$rs_=$conn->query("select count(*) from [wap_book] where userid=1000");
$rs=$rs_->fetch();
$count=$rs[0];
$pagecount=ceil($count/$pagesize);//总页数
if ($pagecount>1){
	if ($page>1){
		echo "<a href=\"?page=1\">首页</a> \r\n";
		echo "<a href=\"?page=".($page-1)."\">上一页</a> \r\n";
	}
	if ($page<$pagecount){
		echo "<a href=\"?page=".($page+1)."\">下一页</a> \r\n";
		echo "<a href=\"?page=".$pagecount."\">尾页</a>\r\n";
	}
}

子非鱼,焉知鱼之乐!己所不欲,勿施于人!-MI 4s Black-

[隐藏样式|查看源码]


『回复列表(2|隐藏机器人聊天)』

1.

我是林子里的第一条尾巴,快来羡慕我吧

(/@Ta/2017-04-12 12:34//)

2. 可以基于此写一个柯林数据库转其他
(/@Ta/2017-04-12 12:41//)

回复需要登录

7月5日 00:29 星期六

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1