一个php Mysql类 可以参考学习熟悉下
一个php Mysql类 可以参考学习熟悉下
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:

复制代码 代码如下:

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

}

}

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类