一个实用的mysql类

来源:互联网 发布:手机上做班服的软件 编辑:程序博客网 时间:2024/04/26 11:48


<?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); 


?>
0 0
原创粉丝点击