一个实用的mysql类



<?php 
class Mysql 

private $conn; 
private $host; 
private $username; 
private $password; 
private $dbname; 
private $pconnect; 
private $charset; 


public function __construct(array $params = null) 

if (!empty($params)) { 
foreach ($params as $k => $v) { 
$this->$k = $v; 





public function connect() 

$fun = $this->pconnect ? 'mysql_pconnect' : 'mysql_connect'; 
$this->conn = $fun($this->host, $this->username, $this->password); 
$this->conn && $this->query('set names ' . $this->charset); 
$this->conn && mysql_select_db($this->dbname, $this->conn); 



public function getInstance() 

return $this->conn; 



public function query($sql) 

return mysql_query($sql, $this->conn); 



public function fetchOne($sql) 

$data = $this->fetchRow($sql); 
return $data[0]; 



public function fetchCol($sql) 

$tmp = $this->fetchAll($sql, MYSQL_NUM); 
foreach ($tmp as $v) { 
$data[] = $v[0]; 




public function fetchRow($sql) 

$result = $this->query($sql); 
$data = mysql_fetch_row($result); 
mysql_free_result($result); 
return $data; 



public function fetchAssoc($sql) 

$result = $this->query($sql); 
$data = mysql_fetch_assoc($result); 
mysql_free_result($result); 
return $data; 



public function fetchAll($sql, $type = MYSQL_ASSOC) 

$result = $this->query($sql); 
while ($tmp = mysql_fetch_array($result, $type)) { 
$data[] = $tmp; 

return $data; 



public function fetchPairs($sql) 

$result = $this->query($sql); 
while ($tmp = mysql_fetch_row($result)) { 
$data[$tmp[0]] = $tmp[1]; 
}  
return $data; 



public function insert($table, array $bind) 

$cols = array(); 
$vals = array(); 
foreach ($bind as $col => $val) { 
$cols[] = $col; 
$vals[] = $val; 
unset($bind[$col]); 

$sql = "INSERT INTO " 
. $table 
. ' (`' . implode('`, `', $cols) . '`) ' 
. 'VALUES (\'' . implode('\', \'', $vals) . '\')'; 


$stmt = $this->query($sql, $this->conn); 
$result = $this->affectedRows(); 
return $result; 



public function getLastInsertId() 

return mysql_insert_id($this->conn); 



public function affectedRows() 

return mysql_affected_rows($this->conn); 



public function update($table, array $bind, $where = '') 

$set = array(); 
foreach ($bind as $col => $val) { 
$set[] = '`' . $col . "` = '" . $val . "'"; 



$sql = "UPDATE `" 
. $table 
. '` SET ' . implode(', ', $set) 
. (($where) ? " WHERE $where" : ''); 


$stmt = $this->query($sql, array_values($bind)); 
$result = $this->affectedRows(); 
return $result; 



public function delete($table, $where = '') 

/** 
* Build the DELETE statement 
*/ 
$sql = "DELETE FROM " 
. $table 
. (($where) ? " WHERE $where" : ''); 


/** 
* Execute the statement and return the number of affected rows 
*/ 
$stmt = $this->query($sql); 
$result = $stmt ? mysql_affected_rows($this->conn) : $stmt; 
return $result; 



public function close() 

$this->conn && mysql_close($this->conn); 


?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值