最近写了一个PHP调用MSSQL调用的基类,和大家分享一下,有兴趣的朋友可以和我联系!

zysoft17 2006-06-01 08:37:52
1.MSSQl基类:
<?PHP
/*--------------------------------------------------------------------*\
| 软件名称: MS SQL基类 |
| 开发人: 张 洋(张洋软件工作室) (C) |
| 开发时间: 2006.05~10 |
| QQ: 47488357 |
| E-Mail: 117zy@sohu.com |
| 程序模块名称: |
| 模块版本: |
| 模块功能描述: |
| 创建人/时间: |
| 修改人/时间: |
| 模块版本日志: |
\*--------------------------------------------------------------------*/


class mssql{

//定义变量
var $conn;
var $result;
var $debug; //调试设置
var $sqlstr; //SQL语句
var $info; //信息

//1.构造
/*
参数设置参见2.设置连接/config
*/
function mssql($_set){
return $this->config($_set);
}//end.mssql;

//2.设置连接
/*
参数:$_set = "dns=主机名或IP;uid=用户ID;pwd=密码;dbname=数据库名"
*/
function config($_set){
//.初始化参数设置
$this->debug = false; //.调试设置


//.连接数据库
eregi("dns=(.+);uid=(.*);pwd=(.*);dbname=(.+)",$_set,$dbinfo);
return $this->db_connect($dbinfo[1],$dbinfo[2],$dbinfo[3],$dbinfo[4]);
}//end.config;

//3.连接数据库
function db_connect($_dns,$_uid,$_pwd,$_dbname){
$this->conn = @mssql_connect($_dns,$_uid,$_pwd) or die("数据库连接失败!");
$this->result = $this->select_db($_dbname);
return $this->conn;
}//end.db_connect;

//4.选择数据库
function select_db($_dbname){
return mssql_select_db($_dbname);
}//end.select_db;

//5.释放
function db_close($_args=null){
if(isset($_args)) return @mssql_close($_args);
else return @mssql_close();
}//end.db_close;

//6.执行返回结果集的SQL语句
/*
调用方法:
格式: query(string sqlstr[, resource link_identifier])
sqlstr : SQL语句.
link_identifier : 连接标识符(conn)
如果没有指定link_identifier(连接标识符),则使用上一个打开的连接。
*/
function query($_sqlstr,$_conn = null){
$this->sqlstr = $_sqlstr;

if($this->debug) echo "<br>SQL: " . $_sqlstr; //.调试

if(isset($_conn))
return @mssql_query($_sqlstr,$_conn);
else
return @mssql_query($_sqlstr);

}//end.query;


//7.执行不返回结果集的SQL语句
/*
调用方法:
格式: execute(string sqlstr[, resource link_identifier])
sqlstr : SQL语句.
link_identifier : 连接标识符(conn)
如果没有指定link_identifier(连接标识符),则使用上一个打开的连接。
*/
function execute($_sqlstr,$_conn = null){
$this->sqlstr = $_sqlstr;
if($this->debug) echo "<br>SQL: " . $_sqlstr; //.调试
@mssql_query($_sqlstr);
}//end.execute;

//8.执行不返回结果集的SQL语句(简写)
function exec($_sqlstr,$_conn = null){
$this->execute($_sqlstr,$_conn);
}//end.exec;

//9.返回row式结果集.
/*
调用格式:
语法格式: fetch_row(resource result);

result: 是查询结果集.
fetch_row()是从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。
适用于access,mysql,mssql,odbc.

例1.:
$db->execute("insert into test01(name) values('这是一个测试!')");
//6.执行一条返回结果的SQL语句
$rs = $db->query("select * from test01");
//7.以row方式显示结果
echo "<br>以row方式显示结果集<br>";
while($r = $db->fetch_row($rs)){
echo $r[0].":".$r[1]."<br>";
}

//8.以array方式显示结果
$rs2 = $db->query("select * from test01");

echo "<br>以array方式显示结果集<br>";
while($r = $db->fetch_array($rs2)){
echo $r["id"] . ":" . $r["name"] . "<br>";
}
*/
function &fetch_row(&$_result){
return mssql_fetch_row($_result);
}//end.&fetch_row;

//10.返回数组模式
function &fetch_array(&$_result){
return mssql_fetch_array($_result);
}//end.&fetch_array;


//20.返回一个36位的唯一ID值
function getid(){
return md5(uniqid(microtime(),1)).getmypid();
}//end.getid;


}//end.mssql.

?>
...全文
236 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zysoft17 2006-06-03
  • 打赏
  • 举报
回复
贴子沉的好快啊.
hubinasm 2006-06-03
  • 打赏
  • 举报
回复
:)
zysoft17 2006-06-01
  • 打赏
  • 举报
回复
2.调用实例.

<?PHP
/*--------------------------------------------------------------------*\
| 软件名称: MS SQL基类 调用实例 |
| 开发人: 张 洋(张洋软件工作室) (C) |
| 开发时间: 2006.05~10 |
| QQ: 47488357 |
| E-Mail: 117zy@sohu.com |
| 程序模块名称: |
| 模块版本: |
| 模块功能描述: |
| 创建人/时间: |
| 修改人/时间: |
| 模块版本日志: |
\*--------------------------------------------------------------------*/
require_once("mssql.class.php");
//1.创建类,并连接数据库
$db = new mssql("dns=sas;uid=sa;pwd=sas;dbname=test");
//2.连接数据库
$conn = $db->config("dns=sas;uid=sa;pwd=sas;dbname=test");
//3.选择数据库
$dbname = $db->select_db("test");
//4.设置允许调试
$db->debug = true;
//5.执行一条不返回结果的SQL语句
$db->execute("insert into test01(name) values('这是一个测试!')");
//$db->exec("");
//6.执行一条返回结果的SQL语句
$rs = $db->query("select * from test01");
//7.以row方式显示结果
echo "<br>以row方式显示结果集<br>";
while($r = $db->fetch_row($rs)){
echo $r[0].":".$r[1]."<br>";
}

//8.以array方式显示结果
$rs2 = $db->query("select * from test01");

echo "<br>以array方式显示结果集<br>";
while($r = $db->fetch_array($rs2)){
echo $r["id"] . ":" . $r["name"] . "<br>";
}
//X.释放
$db->db_close();
?>

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧