MYSQL数据操作类
![](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(!@mysql_pconnect($dbhost, $dbuser, $dbpw))
{
$this->halt('Can not connect to MySQL server');
}
}
else
{
if(!@mysql_connect($dbhost, $dbuser, $dbpw))
{
$this->halt('Can not connect to MySQL server');
}
}
if($this->version() > '4.1')
{
global $charset, $dbcharset;
if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'utf-8')))
{
$dbcharset = str_replace('-', '', $charset);
}
if($dbcharset)
{
mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary");
}
if($this->version() > '5.0.1')
{
mysql_query("SET sql_mode=''");
}
}
if($dbname)
{
mysql_select_db($dbname);
}
}
function select_db($dbname)
{
return mysql_select_db($dbname);
}
function fetch_array($query, $result_type = MYSQL_ASSOC)
{
return mysql_fetch_array($query, $result_type);
}
function query($sql, $type = '') {
$func = $type == 'U_B' && @function_exists('mysql_unbuffered_query') ? 'mysql_unbuffered_query' : 'mysql_query';
$sql=str_replace('#bx_',$GLOBALS['tablepre'],$sql);
if(!($query = $func($sql)) && $type != 'SILENT') {
$this->halt('MySQL 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 =& mysql_fetch_array($query, MYSQL_ASSOC);
return $rs;
}
function affected_rows()
{
return mysql_affected_rows();
}
function error()
{
return mysql_error();
}
function errno()
{
return intval(mysql_errno());
}
function result($query, $row)
{
$query = @mysql_result($query, $row);
return $query;
}
function num_rows($sql)
{
$query = $this->query($sql);
$query = mysql_num_rows($query);
return $query;
}
function num_fields($query)
{
return mysql_num_fields($query);
}
function free_result($query)
{
mysql_free_result($query);
}
function insert_id()
{
$id = mysql_insert_id();
return $id;
}
function fetch_row($query)
{
$query = $this->query($query);
$query = mysql_fetch_row($query);
return $query;
}
function fetch_fields($query)
{
return mysql_fetch_field($query);
}
function version()
{
return mysql_get_server_info();
}
function close()
{
return mysql_close();
}
function halt($message = '', $sql = '') {
$dberror = $this->error();
$dberrno = $this->errno();
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>Errno</strong>: ".$dberrno."<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;
}
}
?>