Home Backend Development PHP Tutorial php mysql complete database connection class_PHP tutorial

php mysql complete database connection class_PHP tutorial

Jul 13, 2016 pm 05:05 PM
class mysql php private whole Tutorial database kind connect

php tutorial mysql tutorial complete database tutorial connection class
*/
class mysql {
private $db_host; //Database host
private $db_user; //Database user name
private $db_pwd; //Database username and password
private $db_database; //Database name
private $conn; //Database connection identifier;
private $result; //Result resource identifier of executing query command
private $sql; //sql execution statement
private $row; //Number of entries returned
private $coding; //Database encoding, gbk, utf8, gb2312
private $bulletin = true; //Whether to enable error logging
private $show_error = false; //During the testing phase, all errors are displayed, which has security risks and is closed by default
private $is_error = false; //Whether to terminate immediately when an error is detected, the default is true, it is recommended not to enable it, because it is very distressing for users to not see anything when there is a problem

/*Constructor*/
public function __construct($db_host, $db_user, $db_pwd, $db_database, $conn, $coding) {
$this->db_host = $db_host;
$this->db_user = $db_user;
$this->db_pwd = $db_pwd;
$this->db_database = $db_database;
$this->conn = $conn;
$this->coding = $coding;
$this->connect();
}

/*Database connection*/
public function connect() {
if ($this->conn == "pconn") {
//Permanent link
$this->conn = mysql_pconnect($this->db_host, $this->db_user, $this->db_pwd);
} else {
//Even if the link
$this->conn = mysql_connect($this->db_host, $this->db_user, $this->db_pwd);
}

if (!mysql_select_db($this->db_database, $this->conn)) {
if ($this->show_error) {
$this->show_error("Database unavailable:", $this->db_database);
}
}
mysql_query("set names $this->coding");
}

/*Database execution statement, any sql statement such as query addition, modification, deletion, etc. can be executed*/
public function query($sql) {
if ($sql == "") {
$this->show_error("SQL statement error:", "SQL query statement is empty");
}
$this->sql = $sql;

$result = mysql_query($this->sql, $this->conn);

if (!$result) {
//Used in debugging, when an error occurs in the SQL statement, it will be automatically printed out
if ($this->show_error) {
$this->show_error("Error sql statement: ", $this->sql);
}
} else {
$this->result = $result;
}
return $this->result;
}

/*Create and add a new database*/
public function create_database($database_name) {
$database = $database_name;
$sqldatabase = 'create database ' . $database;
$this->query($sqldatabase);
}

/*Query all databases on the server*/
//Separate the system database and user database for a more intuitive display?
public function show_databases() {
$this->query("show databases");
echo "Existing database:" . $amount = $this->db_num_rows($rs);
echo "
";
$i = 1;
while ($row = $this->fetch_array($rs)) {
echo "$i $row[database]";
echo "
";
$i++;
}
}

//Return all database names in the host in array form
public function databases() {
$rsptr = mysql_list_dbs($this->conn);
$i = 0;
$cnt = mysql_num_rows($rsptr);
while ($i < $cnt) {
$rs[] = mysql_db_name($rsptr, $i);
$i++;
}
return $rs;
}

/*Query all tables under the database*/
public function show_tables($database_name) {
$this->query("show tables");
echo "Existing database:" . $amount = $this->db_num_rows($rs);
echo "
";
$i = 1;
while ($row = $this->fetch_array($rs)) {
$columnname = "tables_in_" . $database_name;
echo "$i $row[$columnname]";
echo "
";
$i++;
}
}

/*
mysql_fetch_row() array $row[0],$row[1],$row[2]
mysql_fetch_array() array $row[0] or $row[id]
mysql_fetch_assoc() array Use $row->content field case sensitivity
mysql_fetch_object() object uses $row[id],$row[content] fields that are case sensitive
*/

/*Get result data*/
public function mysql_result_li() {
Return mysql_result($str);
}

/*Get the record set, get the array-index and association, use $row['content'] */
public function fetch_array($resultt="") {
if($resultt<>""){
Return mysql_fetch_array($resultt);
}else{
Return mysql_fetch_array($this->result);
}
}

//Get the associative array, use $row['field name']
public function fetch_assoc() {
Return mysql_fetch_assoc($this->result);
}

//Get the numeric index array, use $row[0],$row[1],$row[2]
public function fetch_row() {
Return mysql_fetch_row($this->result);
}

//Get the object array, use $row->content
public function fetch_object() {
Return mysql_fetch_object($this->result);
}

//Simplified query select
public function findall($table) {
$this->query("select * from $table");
}

//Simplified query select
public function select($table, $columnname = "*", $condition = '', $debug = '') {
$condition = $condition ? ' where ' . $condition : null;
if ($debug) {
echo "select $columnname from $table $condition";
} else {
$this->query("select $columnname from $table $condition");
}
}

//Simplify deletion del
public function delete($table, $condition, $url = '') {
if ($this->query("delete from $table where $condition")) {
if (!empty ($url))
$this->get_admin_msg($url, 'Delete successfully!');
}
}

//Simplify insert
public function insert($table, $columnname, $value, $url = '') {
if ($this->query("insert into $table ($columnname) values ​​($value)")) {
if (!empty ($url))
$this->get_admin_msg($url, 'Added successfully!');
}
}

//Simplify modification update
public function update($table, $mod_content, $condition, $url = '') {
//echo "update $table set $mod_content where $condition"; exit();
if ($this->query("update $table set $mod_content where $condition")) {
if (!empty ($url))
$this->get_admin_msg($url);
}
}

/*Get the id generated by the previous insert operation*/
public function insert_id() {
Return mysql_insert_id();
}

//Point to a certain data record
public function db_data_seek($id) {
if ($id > 0) {
$id = $id -1;
}
if (!@ mysql_data_seek($this->result, $id)) {
$this->show_error("Error in sql statement:", "The specified data is empty");
}
return $this->result;
}

 // 根据select查询结果计算结果集条数
 public function db_num_rows() {
  if ($this->result == null) {
   if ($this->show_error) {
    $this->show_error("sql语句错误", "暂时为空,没有任何内容!");
   }
  } else {
   return mysql_num_rows($this->result);
  }
 }

 // 根据insert,update,delete执行结果取得影响行数
 public function db_affected_rows() {
  return mysql_affected_rows();
 }

 //输出显示sql语句
 public function show_error($message = "", $sql = "") {
  if (!$sql) {
   echo "" . $message . "";
   echo "
";
  } else {
   echo "

";
   echo "错误信息提示:
";
   echo "
";
   echo "
";
   echo "错误号:12142";
   echo "

";
   echo "错误原因:" . mysql_error() . "

";
   echo "
";
   echo "" . $message . "";
   echo "
";
   echo "
" . $sql . "
";
   $ip = $this->getip();
   if ($this->bulletin) {
    $time = date("y-m-d h:i:s");
    $message = $message . "rn$this->sql" . "rn客户ip:$ip" . "rn时间 :$time" . "rnrn";

    $server_date = date("y-m-d");
    $filename = $server_date . ".txt";
    $file_path = "error/" . $filename;
    $error_content = $message;
    //$error_content="错误的数据库,不可以链接";
    $file = "error"; //设置文件保存目录

    //建立文件夹
    if (!file_exists($file)) {
     if (!mkdir($file, 0777)) {
      //默认的 mode 是 0777,意味着最大可能的访问权
      die("upload files directory does not exist and creation failed");
     }
    }

    //建立txt日期文件
    if (!file_exists($file_path)) {

     //echo "建立日期文件";
     fopen($file_path, "w+");

     //首先要确定文件存在并且可写
     if (is_writable($file_path)) {
      //使用添加模式打开$filename,文件指针将会在文件的开头
      if (!$handle = fopen($file_path, 'a')) {
       echo "不能打开文件 $filename";
       exit;
      }

      //将$somecontent写入到我们打开的文件中。
      if (!fwrite($handle, $error_content)) {
       echo "不能写入到文件 $filename";
       exit;
      }

      //echo "文件 $filename 写入成功";

      echo "——错误记录被保存!";

      //关闭文件
      fclose($handle);
     } else {
      echo "文件 $filename 不可写";
     }

    } else {
     //首先要确定文件存在并且可写
     if (is_writable($file_path)) {
      //使用添加模式打开$filename,文件指针将会在文件的开头
      if (!$handle = fopen($file_path, 'a')) {
       echo "不能打开文件 $filename";
       exit;
      }

      //将$somecontent写入到我们打开的文件中。
      if (!fwrite($handle, $error_content)) {
       echo "不能写入到文件 $filename";
       exit;
      }

      //echo "文件 $filename 写入成功";
      echo "——错误记录被保存!";

      //关闭文件
      fclose($handle);
     } else {
      echo "文件 $filename 不可写";
     }
    }

   }
   echo "
";
   if ($this->is_error) {
    exit;
   }
  }
  echo "

";
  echo "
";

  echo "
";
 }

 //释放结果集
 public function free() {
  @ mysql_free_result($this->result);
 }

 //数据库选择
 public function select_db($db_database) {
  return mysql_select_db($db_database);
 }

 //查询字段数量
 public function num_fields($table_name) {
  //return mysql_num_fields($this->result);
  $this->query("select * from $table_name");
  echo "
";
  echo "字段数:" . $total = mysql_num_fields($this->result);
  echo "

";<br>
  for ($i = 0; $i < $total; $i++) {<br />
   print_r(mysql_fetch_field($this->result, $i));<br>
  }<br>
  echo "
";
  echo "
";
 }

 //取得 mysql 服务器信息
 public function mysql_server($num = '') {
  switch ($num) {
   case 1 :
    return mysql_get_server_info(); //mysql 服务器信息
    break;

   case 2 :
    return mysql_get_host_info(); //取得 mysql 主机信息
    break;

   case 3 :
    return mysql_get_client_info(); //取得 mysql 客户端信息
    break;

   case 4 :
    return mysql_get_proto_info(); //取得 mysql 协议信息
    break;

   default :
    return mysql_get_client_info(); //默认取得mysql版本信息
  }
 }

 //析构函数,自动关闭数据库,垃圾回收机制
 public function __destruct() {
  if (!empty ($this->result)) {
   $this->free();
  }
  mysql_close($this->conn);
 } //function __destruct();

 /*获得客户端真实的ip地址*/
 function getip() {
  if (getenv("http_client_ip") && strcasecmp(getenv("http_client_ip"), "unknown")) {
   $ip = getenv("http_client_ip");
  } else
   if (getenv("http_x_forwarded_for") && strcasecmp(getenv("http_x_forwarded_for"), "unknown")) {
    $ip = getenv("http_x_forwarded_for");
   } else
    if (getenv("remote_addr") && strcasecmp(getenv("remote_addr"), "unknown")) {
     $ip = getenv("remote_addr");
    } else
     if (isset ($_server['remote_addr']) && $_server['remote_addr'] && strcasecmp($_server['remote_addr'], "unknown")) {
      $ip = $_server['remote_addr'];
     } else {
      $ip = "unknown";
     }
  return ($ip);
 }
 function inject_check($sql_str) { //防止注入
  $check = eregi('select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile', $sql_str);
  if ($check) {
   echo "输入非法注入内容!";
   exit ();
  } else {
   return $sql_str;
  }
 }
 function checkurl() { //检查来路
  if (preg_replace("/https教程?://([^:/]+).*/i", "1", $_server['http_referer']) !== preg_replace("/([^:]+).*/", "1", $_server['http_host'])) {
   header("location: http://www.zhutiai.com");
   exit();
  }
 }

}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/630762.htmlTechArticlephp tutorial mysql tutorial complete database tutorial connection class */ class mysql { private $db_host; //database host private $ db_user; //Database username private $db_pwd; //Database username password...
Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP and Python: Comparing Two Popular Programming Languages PHP and Python: Comparing Two Popular Programming Languages Apr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP's Current Status: A Look at Web Development Trends PHP's Current Status: A Look at Web Development Trends Apr 13, 2025 am 12:20 AM

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

MySQL's Place: Databases and Programming MySQL's Place: Databases and Programming Apr 13, 2025 am 12:18 AM

MySQL's position in databases and programming is very important. It is an open source relational database management system that is widely used in various application scenarios. 1) MySQL provides efficient data storage, organization and retrieval functions, supporting Web, mobile and enterprise-level systems. 2) It uses a client-server architecture, supports multiple storage engines and index optimization. 3) Basic usages include creating tables and inserting data, and advanced usages involve multi-table JOINs and complex queries. 4) Frequently asked questions such as SQL syntax errors and performance issues can be debugged through the EXPLAIN command and slow query log. 5) Performance optimization methods include rational use of indexes, optimized query and use of caches. Best practices include using transactions and PreparedStatemen

PHP: The Foundation of Many Websites PHP: The Foundation of Many Websites Apr 13, 2025 am 12:07 AM

The reasons why PHP is the preferred technology stack for many websites include its ease of use, strong community support, and widespread use. 1) Easy to learn and use, suitable for beginners. 2) Have a huge developer community and rich resources. 3) Widely used in WordPress, Drupal and other platforms. 4) Integrate tightly with web servers to simplify development deployment.

The Enduring Relevance of PHP: Is It Still Alive? The Enduring Relevance of PHP: Is It Still Alive? Apr 14, 2025 am 12:12 AM

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP vs. Python: Core Features and Functionality PHP vs. Python: Core Features and Functionality Apr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP vs. Other Languages: A Comparison PHP vs. Other Languages: A Comparison Apr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

See all articles