php mysql完整数据库连接类_PHP教程

php中文网
发布: 2016-07-13 17:05:36
原创
1050人浏览过

来画数字人直播
来画数字人直播

来画数字人自动化直播,无需请真人主播,即可实现24小时直播,无缝衔接各大直播平台。

来画数字人直播 0
查看详情 来画数字人直播
php教程 mysql教程完整数据库教程连接类  */ class mysql {  private $db_host; //数据库主机  private $db_user; //数据库用户名  private $db_pwd; //数据库用户名密码  private $db_database; //数据库名  private $conn; //数据库连接标识;  private $result; //执行query命令的结果资源标识  private $sql; //sql执行语句  private $row; //返回的条目数  private $coding; //数据库编码,gbk,utf8,gb2312  private $bulletin = true; //是否开启错误记录  private $show_error = false; //测试阶段,显示所有错误,具有安全隐患,默认关闭  private $is_error = false; //发现错误是否立即终止,默认true,建议不启用,因为当有问题时用户什么也看不到是很苦恼的  /*构造函数*/  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();  }  /*数据库连接*/  public function connect() {   if ($this->conn == "pconn") {    //永久链接    $this->conn = mysql_pconnect($this->db_host, $this->db_user, $this->db_pwd);   } else {    //即使链接    $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("数据库不可用:", $this->db_database);    }   }   mysql_query("set names $this->coding");  }  /*数据库执行语句,可执行查询添加修改删除等任何sql语句*/  public function query($sql) {   if ($sql == "") {    $this->show_error("sql语句错误:", "sql查询语句为空");   }   $this->sql = $sql;   $result = mysql_query($this->sql, $this->conn);   if (!$result) {    //调试中使用,sql语句出错时会自动打印出来    if ($this->show_error) {     $this->show_error("错误sql语句:", $this->sql);    }   } else {    $this->result = $result;   }   return $this->result;  }  /*创建添加新的数据库*/  public function create_database($database_name) {   $database = $database_name;   $sqldatabase = 'create database ' . $database;   $this->query($sqldatabase);  }  /*查询服务器所有数据库*/  //将系统数据库与用户数据库分开,更直观的显示?  public function show_databases() {   $this->query("show databases");   echo "现有数据库:" . $amount = $this->db_num_rows($rs);   echo "";   $i = 1;   while ($row = $this->fetch_array($rs)) {    echo "$i $row[database]";    echo "";    $i++;   }  }  //以数组形式返回主机中所有数据库名  public function databases() {   $rsptr = mysql_list_dbs($this->conn);   $i = 0;   $cnt = mysql_num_rows($rsptr);   while ($i query("show tables");   echo "现有数据库:" . $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] 或 $row[id]  mysql_fetch_assoc()  array  用$row->content 字段大小写敏感  mysql_fetch_object() object 用$row[id],$row[content] 字段大小写敏感  */  /*取得结果数据*/  public function mysql_result_li() {   return mysql_result($str);  }  /*取得记录集,获取数组-索引和关联,使用$row['content'] */  public function fetch_array($resultt="") {   if($resultt""){    return mysql_fetch_array($resultt);   }else{   return mysql_fetch_array($this->result);   }  }  //获取关联数组,使用$row['字段名']  public function fetch_assoc() {   return mysql_fetch_assoc($this->result);  }  //获取数字索引数组,使用$row[0],$row[1],$row[2]  public function fetch_row() {   return mysql_fetch_row($this->result);  }  //获取对象数组,使用$row->content  public function fetch_object() {   return mysql_fetch_object($this->result);  }  //简化查询select  public function findall($table) {   $this->query("select * from $table");  }  //简化查询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");   }  }  //简化删除del  public function delete($table, $condition, $url = '') {   if ($this->query("delete from $table where $condition")) {    if (!empty ($url))     $this->get_admin_msg($url, '删除成功!');   }  }  //简化插入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, '添加成功!');   }  }  //简化修改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);   }  }  /*取得上一步 insert 操作产生的 id*/  public function insert_id() {   return mysql_insert_id();  }  //指向确定的一条数据记录  public function db_data_seek($id) {   if ($id > 0) {    $id = $id -1;   }   if (!@ mysql_data_seek($this->result, $id)) {    $this->show_error("sql语句有误:", "指定的数据为空");   }   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 "";   for ($i = 0; $i result, $i));   }   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教程 mysql教程完整数据库教程连接类 */ class mysql { private $db_host; //数据库主机 private $db_user; //数据库用户名 private $db_pwd; //数据库用户名密...
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号