Home >php教程 >php手册 >一个php Mysql类 可以参考学习熟悉下

一个php Mysql类 可以参考学习熟悉下

WBOY
WBOYOriginal
2016-06-13 12:23:341146browse

复制代码 代码如下:


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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn