日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > Php訪問Mssql操作簡單封裝簡單支持存儲過程

Php訪問Mssql操作簡單封裝簡單支持存儲過程

來源:程序員人生   發布時間:2014-04-27 17:27:40 閱讀次數:2892次

  對一個Php訪問Mssql操作的一個簡單封裝簡單支持存儲過程,沒有啥太多的功能,就是簡單封裝,也沒有緩存,平時用ezSQL,但是ezSQL不支持存儲過程,所以這里封裝了存儲過程,因為自己的需要,只是做一個標記在這里而已。 

<?php
/*
* class :Mssql
* time :2009-12-10
* author :Libaochang
* version :1.0b
* description :mssql database access class,it can execute the procedur or sql
*/
class MssqlUtil
{
var $user = null; //database user name
var $keys = null; //database user password
var $host = 'localhost'; //database host name/ip and port
var $base = null; //database name
var $link = null; //create link

/**
* construct function init all parmeters
* @param <type> $host database host name/ip and port
* @param <type> $user database user name
* @param <type> $keys database user password
* @param <type> $base database name
*/
function __construct($host,$user,$keys,$base)
{
$this->host = $host;
$this->user = $user;
$this->keys = $keys;
$this->base = $base;
}

/**
* create the connection
*/
function connect()
{
$this->link = mssql_connect($this->host,$this->user,$this->keys);
if(!$this->link)
{
die('connecting failed...check the module and setting...');
}
$select = mssql_select_db($this->base,$this->link);
if(!$select)
{
die('data base is not exist...,please checke it ...');
}
}

/**
* execute the procedur width the parameter
* @param <type> $pName procedur name
* @param <type> $parName parameters it's like this $par=array('@a'=>'a')
* @param <type> $sqlTyle the procedur's parameter type, it's llike this $sqlType=array(SQLVARCHAR,SQLVARCHAR); and there is not the char single quote mark(').
* @return <type> object array
*/
function executeProcedur($pName,$parName,$sqlTyle)
{
$this->connect();

$stmt = mssql_init($pName,$this->link);
if(isset($parName))
{
$i = 0;
foreach($parName as $par=>$value)
{
mssql_bind($stmt,$par,$value,$sqlTyle[$i]);
++$i;
}
$res = mssql_execute($stmt);

$this->close();

while($row=mssql_fetch_assoc($res))
{
$r[] = $row;
}
unset($i);
mssql_free_result($res);
mssql_free_statement($stmt);
return $r;
}
}

/**
* execute procedur without the parameter
* @param <type> $pName Procedur Name
* @return <type> object array
*/
function executeProcedurNoPar($pName)
{
$this->connect();

$stmt = mssql_init($pName,$this->link);
$res = mssql_execute($stmt);

$this->close();

while($row=mssql_fetch_assoc($res))
{
$r[] = $row;
}
mssql_free_result($res);
mssql_free_statement($stmt);
return $r;
}
/**
* Get one row return Array
* @param <type> $sql
* @return <type> Array
*/
function getRowArray($sql)
{
$res = $this->query($sql);
$r = mssql_fetch_row($res);
mssql_free_result($res);
return $r;
}
/**
* Get one row return object
* @param <type> $sql Sql
* @return <type> Object
*/
function getRowObject($sql)
{
$res = $this->query($sql);
$r = mssql_fetch_assoc($res);
return $r;

}
/**
* Execute one sql
* @param <type> $sql Sql
* @return <type> result
*/
function query($sql)
{
$this->connect();
$res = mssql_query($sql,$this->link);
$this->close();
return $res;
}

/**
* Get every row from result by Object, Return a Array with every element is Object
* @param <type> $sql
* @return <type> Object Array result
*/
function getResult($sql)
{
$res = $this->query($sql);
while($row=mssql_fetch_assoc($res))
{
$r[] = $row;
}
unset($row);
mssql_free_result($res);
return $r;
}

/**
* execute a sql
* @param <type> $sql Sql
*/
function executeSql($sql)
{
return $this->query($sql);
}

/**
* execute a sql statement
* @param <type> $sql
* @return <type> int $affected rows
*/
function querySql($sql)
{
$this->connect();
mssql_query($sql,$this->link);
$affected = mssql_rows_affected($this->link);
$this->close();
return $affected;
}

/**
* close connection
*/
function close()
{
mssql_close();
}
}
?>

下面說下調用
function __autoload($MssqlUtil)
{
require $MssqlUtil.'.php';
}
$db = new MssqlUtil($config['host'],$config['user'],$config['keys'],$config['base']);
主要說下帶參數的存儲過程調用
$pName 存儲過程名字
$parName 參數,參數形式很重要,是數組類型,對應關系為
array('@a'=>'a') @a 為存儲過程里面的參數,a為要傳遞的值
$sqlTyle 是存儲過程參數的數據類型,是數組形式,也很重要
array(SQLCHAR,SQLVARCHAR),注意不要加單引號等,因為SQLVARCHAR是SQL的一些常量

帶參數存儲過程
$db->executeProcedur($pName,$parName,$sqlTyle);
無參數存儲過程
$db->executeProcedurNoPar($pName);

來自:http://www.cnblogs.com/pochonlee/

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产一区在线播放 | 日本一区二区在线视频 | 少妇精品久久久一区二区三区 | 一区二区三区观看 | 污污视频免费网站 | 在线麻豆 | 国产成人99久久亚洲综合精品 | 国内av网站 | 99精品九九| 国内精品视频 | 日韩电影一区二区三区 | 午夜精品久久久久久久久久久 | 精品成人一区二区 | 国产精品久久一区 | av在线二区| 波多野结衣av在线播放 | 国产区一区二区三区 | 综合婷婷 | 99视频精品在线 | 久久综合一区二区 | 成人性生交大片 | 国产激情一区二区三区 | 精品久久久国产 | 精品午夜一区二区 | 国产性―交一乱―色―情人免费看 | 国产伦精品一区二区三区视频孕妇 | 国产激情美女久久久久久吹潮 | 午夜毛片免费看20次 | 午夜一区 | 欧美国产精品一区二区三区 | 嫩草精品 | 91精品国产自产91精品 | 国产女教师精品久久久av | 日日夜夜精品网站 | 精品国产乱码久久久久久丨区2区 | 美女国产视频 | 日韩色av| 在线欧美 | 天堂精品视频 | 国产精品hongkong在线 | 久久只有精品 |