实用mysql数据库连接类
这是一款PHP与mysql数据库连接文件代码,如果你正在找这样功能的代码,可以进来看看,非常完整文件,实例代码如下:
- class mysql {
- private $db_host;
- private $db_user;
- private $db_pass;
- private $db_name;
- private $db_charset;
-
- private $conn;
- private $query_id;
- private $result;
- private $num_rows;
- private $insert_id;
-
-
- function __construct ($db_host,$db_user,$db_pass,$db_name,$db_charset,$conn) {
- $this->db_host = $db_host ;
- $this->db_user = $db_user ;
- $this->db_pass = $db_pass ;
- $this->db_name = $db_name ;
- $this->db_charset = $db_charset ;
- $this->conn = $conn ;
- $this->connect();
- }
-
- function __destruct () {
- @mysql_close($this->conn);
- }
-
-
- public function connect () {
- if ($this->conn == 'pconn') {
- @$this->conn = mysql_pconnect($this->db_host,$this->db_user,$this->db_pass);
- } else {
- @$this->conn = mysql_connect($this->db_host,$this->db_user,$this->db_pass);
- }
- if (!$this->conn) {
- $this->show_error('数据库-连接失败:用户名或密码错误!');
- }
- if (!@mysql_select_db($this->db_name,$this->conn)) {
- $this->show_error("数据库-选择失败:数据库 $this->db_name 不可用");
- }
- mysql_query("set names $this->db_charset");
- return $this->conn;
- }
-
-
- public function query ($sql) {
- if ($this->query_id) $this->free_result();
- $this->query_id = @mysql_query($sql,$this->conn);
- if (!$this->query_id) $this->show_error("sql语句 <b>"$sql"</b> 执行时遇到错误");
- return $this->query_id;
- }
-
-
- public function findall ($table_name) {
- $this->query("select * from $table_name");
- }
-
-
- public function fetch_array () {
- if ($this->query_id) {
- $this->result = mysql_fetch_array($this->query_id);
- return $this->result;
- }
- }
-
-
-
- public function fetch_assoc () {
- if ($this->query_id) {
- $this->result = mysql_fetch_assoc($this->query_id);
- return $this->result;
- }
- }
-
- public function fetch_row () {
- if ($this->query_id) {
- $this->result = mysql_fetch_row($this->query_id);
- return $this->result;
- }
- }
-
- public function fetch_object () {
- if ($this->query_id) {
- $this->result = mysql_fetch_object($this->query_id);
- return $this->result;
- }
- }
-
-
- public function num_rows () {
- if ($this->query_id) {
- $this->num_rows = mysql_num_rows($this->query_id);
- return $this->num_rows;
- }
- }
-
-
- public function insert_id () {
- return $this->insert_id = mysql_insert_id();
- }
-
-
- public function show_tables () {
- $this->query("show tables");
- if ($this->query_id) {
- echo "数据库 $this->db_name 共有 ".$this->num_rows($this->query_id)." 张表<br/>";
- $i = 1;
- while ($row = $this->fetch_array($this->query_id)){
- echo "$i -- $row[0]<br/>";
- $i ++;
- }
- }
- }
-
-
- public function show_dbs(){
- $this->query("show databases");
- if ($this->query_id) {
- echo "共有数据库 ".$this->num_rows($this->query_id)." 个<br/>";
- $i = 1;
- while ($this->row = $this->fetch_array($this->query_id)){
- echo "$i -- ".$this->row[database]."<br />";
- $i ++;
- }
- }
- }
-
-
- public function drop_db ($db_name='') {
- if ($db_name == '') {
- $db_name = $this->db_name;
- $this->query("drop database $db_name");
- }else {
- $this->query("drop database $db_name");
- }
- if ($this->query_id) {
- return "数据库 $db_name 删除成功";
- }else {
- $this->show_error("数据库 $db_name 删除失败");
- }
- }
-
-
- public function drop_table ($table_name) {
- $this->query("drop table $table_name");
- if ($this->query_id) {
- return "数据表 $table_name 删除成功";
- }else {
- $this->show_error("数据表 $table_name 删除失败");
- }
-
- }
-
-
- public function create_db ($db_name) {
- $this->query("create database $db_name");
- if($this->query_id){
- return "数据库 $db_name 创建成功";
- }else {
- $this->show_error("数据库 $db_name 创建失败");
- }
- }
-
-
- public function get_info(){
- echo mysql_get_server_info();
- }
-
-
- public function show_error ($msg) {
- $errinfo = mysql_error();
- echo "错误:$msg <br/> 返回:$errinfo<p>";
- }
-
-
- public function free_result () {
- if ( @mysql_free_result($this->query_id) )
- unset ($this->result);
- $this->query_id = 0;
- }
-
- }