MSSQL数据操作类
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
<?php
class db_sql
{
var $querynum = 0;
function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0)
{
if($pconnect)
{
if(!@mssql_pconnect($dbhost, $dbuser, $dbpw))
{
$this->halt('Can not connect to MsSQL server');
}
}
else
{
if(!@mssql_connect($dbhost, $dbuser, $dbpw))
{
$this->halt('Can not connect to MsSQL server');
}
}
if($dbname)
{
mssql_select_db($dbname);
}
}
function select_db($dbname)
{
return mssql_select_db($dbname);
}
function fetch_array($query, $result_type = MYSQL_ASSOC)
{
return mssql_fetch_array($query, $result_type);
}
function query($sql, $type = '') {
$func = $type == 'U_B' && @function_exists('mssql_unbuffered_query') ? 'mssql_unbuffered_query' : 'mssql_query';
$sql=str_replace('#bx_',$GLOBALS['tablepre'],$sql);
if(!($query = $func($sql)) && $type != 'SILENT') {
$this->halt('mssql Query Error',$sql);
}
$this->querynum++;
return $query;
}
//echo $db->insert("tb",array(users=>"a",sex=>"man"));
function insert($table, $bind=array()){
$set = array();
foreach ($bind as $col => $val) {
$set[] = "$col";
$vals[] = "'$val'";
}
$sql = "INSERT INTO ".$table.' (' . implode(', ', $set).') '.'VALUES (' . implode(', ', $vals).')';
$result = $this->query($sql);
$insert_id = $this->insert_id();
if ($insert_id) $result = $insert_id;
return $result;
}
//$db->update("tb",array(users=>"ab",sex=>"woman"),"sex='man'");
function update($table, $bind=array(),$where = ''){
$set = array();
foreach ($bind as $col => $val) {
$set[] = "$col = '$val'";
unset($set[$col]);
}
$sql = "UPDATE ".$table.' SET '.implode(',', $set).($where ? " WHERE $where" : '');
return $this->query($sql);
}
//$db->del("tb","id='2'");
function del($table,$where = '')
{
$sql = "delete from ".$table.($where ? " WHERE $where" : '');
return $this->query($sql);
}
function get_one($sql) {
$query=$this->query($sql,'U_B');
$rs =& mssql_fetch_array($query, MYSQL_ASSOC);
return $rs;
}
function affected_rows()
{
$result = mssql_query("SELECT @@ROWCOUNT");
list($affected) = mssql_fetch_row($result);
return $affected;
}
function error()
{
return mssql_get_last_message();
}
function result($query, $row)
{
$query = @mssql_result($query, $row);
return $query;
}
function num_rows($sql)
{
$query = $this->query($sql);
$query = mssql_num_rows($query);
return $query;
}
function num_fields($query)
{
return mssql_num_fields($query);
}
function free_result($query)
{
mssql_free_result($query);
}
function insert_id()
{
$result = mssql_query("SELECT @@IDENTITY;");
list($id) = mssql_fetch_row($result);
return $id;
}
function fetch_row($query)
{
$query = $this->query($query);
$query = mssql_fetch_row($query);
return $query;
}
function fetch_fields($query)
{
return mssql_fetch_field($query);
}
function close()
{
return mssql_close();
}
function halt($message = '', $sql = '') {
$dberror = $this->error();
if($message) {
echo "<strong>BxCms! info</strong>: $message<br>";
}
echo "<br><strong>The URL Is:</strong> http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']."<br>";
if($sql) {
echo "<br><strong>SQL</strong>: ".htmlspecialchars($sql)."<br>";
}
echo "<br><strong>Error</strong>: ".$dberror."<br>";
exit();
}
function GetDataSet($query)
{
$arr = array();
$query = $this->query($query,'');
while($row=$this->fetch_array($query,MYSQL_ASSOC))
{
array_push($arr,$row);
}
return $arr;
}
}
?>