`
anson_xu
  • 浏览: 514765 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类

php参考

    博客分类:
  • php
阅读更多

<?php
/*
*   Author  墨龙
*   Time    2010年12月2日 15:50:35
*/

$db = new mysql($db_host,$db_user,$db_password,$db_table,$db_conn,$pre,$coding);

class mysql{
 
 private    $db_host;
 private    $db_user;
 private    $db_password;
 private    $db_table;
 private    $db_conn;           //数据库连接标识;
 private    $result;         //执行query命令的结果资源标识
 private    $sql;   //sql执行语句
 private    $pre;   //数据库表前缀 
 private    $coding;  //数据库编码,GBK,UTF8,gb2312
 
 
 function __construct($db_host,$db_user,$db_password,$db_table,$db_conn,$pre,$coding){
  
  $this->db_host     = $db_host;
  $this->db_user     = $db_user;
  $this->db_password = $db_password;
  $this->db_table    = $db_table;
  $this->db_conn     = $db_conn;
  $this->pre         = $pre;
  $this->coding      = $coding;
  $this->connect();
 
 }
 
 function connect(){
  
  $this->db_conn = @mysql_connect($this->db_host,$this->db_user,$this->db_password) or die($this->show_error("数据库链接错误,请检查数据库链接配置!"));
  if(!mysql_select_db($this->db_table,$this->db_conn)){
   
   echo "没有找到数据表:".$this->db_table;
  }
  mysql_select_db($this->db_table,$this->db_conn);
  $this->query("SET NAMES $this->coding");
 }
 
 /*执行SQL语句的函数*/
 function query($sql){
  
  if(empty($sql)){
   $this->show_error("你的sql语句不能为空!");
  }else{   
   $this->sql = $sql;
  }
  $result = mysql_query($this->sql,$this->db_conn);
  
  return $this->result = $result;
 }
 
 /*创建添加新的数据库*/
 public function create_database($database_name){
  $database=$database_name;
  $sqlDatabase = 'create database '.$database;
  return $this->query($sqlDatabase);
 }
  
 // 根据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);
   }
 }
 
 /*查询服务器所有数据库*/
 //将系统数据库与用户数据库分开,更直观的显示?
 public function show_databases(){
  $this->query("show databases");
  echo "现有数据库:".$amount =$this->db_num_rows($rs);
  echo "<br />";
  $i=1;
  while($row = $this->fetch_array($rs)){   
   echo "$i $row[Database]";   
   echo "<br />";
   $i++;
  }
 }
 
 //以数组形式返回主机中所有数据库名
 public function databases()
 {
  $rsPtr=mysql_list_dbs($this->db_conn);
  $i=0;
  $cnt=mysql_num_rows($rsPtr);
  while($i<$cnt)
  {
    $rs[]=mysql_db_name($rsPtr,$i);
    $i++;
  }
  return print_r($rs);
 }
 
 
 /*查询数据库下所有的表*/
 function show_tables($database_name){
  $this->query("show tables");
  echo "现有数据库:".$amount = $this->db_num_rows($rs);
  echo "<br />";
  $i=1;
  while($row = $this->fetch_array($rs)){
   $columnName="Tables_in_".$database_name;
   echo "$i $row[$columnName]";
   echo "<br />";
   $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] 字段大小写敏感
 */
 /*取得记录集,获取数组-索引和关联,使用$row['content'] */
 public function fetch_array() 
 {  
  return @mysql_fetch_array($this->result);
 } 
 
 //获取关联数组,使用$row['字段名']
 public function fetch_ass()
 {
  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){
  $table = $this->fulltablename($table);
  $this->query("select * from $table");
 }
 
 public function select($table,$columnName,$condition){
  $table = $this->fulltablename($table);
  if(empty($columnName)){
   $columnName = "*";
  }
  $this->query("SELECT $columnName FROM $table $condition");
 }
 
 //简化的insert
 function insert($table,$arr){
  $table = $this->fulltablename($table);
  $sql = "INSERT INTO $table ";
  if(!is_array($arr)){
   $this->show_error("请输入参数数组!");
  }else{
  $k = "";
  $v = "";
  foreach($arr as $key => $value){
   $k .= "`$key`,";
   $v .= "'".$value."',";
  }
  }
  $sql = $sql." (".substr($k,0,-1).") VALUES (".substr($v,0,-1).")";
  $this->query($sql);
 }
 //简化的update
 function update($table,$arr,$where){
  $table = $this->fulltablename($table);
  $sql = "UPDATE $table SET ";
  if(!is_array($arr)){
   $this->show_error("请输入参数数组!");
  }else{
  foreach($arr as $key => $value){
   $sql .= " `".$key."` = '".$value."' ,";
  }
  }
  $sql = substr($sql,0,-1)." where ".$where;
  return $this->query($sql);
 }
 //简化的delete
 function delete($table,$where = ""){
  $table = $this->fulltablename($table);
  if(empty($where)){
   $this->show_error("条件不能为空!");
  }else{
   $where = " where ".$where;
  }
  $sql = "DELETE FROM $table ".$where;
  //echo $sql;
  return $this->query($sql);
 }
 
 //取得上一步 INSERT 操作产生的 ID
 public function insert_id(){
  return mysql_insert_id();
    }
 
 //加上前缀的数据表
 public function fulltablename($table){
  return $table = $this->pre.$table;
 }
 
 //查询字段数量
 public function num_fields($table){
  $table = $this->fulltablename($table); 
  $this->query("select * from $table");
  echo "<br />";
  echo "字段数:".$total = mysql_num_fields($this->result);
  echo "<pre>";
  for ($i=0; $i<$total; $i++){
   print_r(mysql_fetch_field($this->result,$i) );
  }
  echo "</pre>";
  echo "<br />";
 }
 
 //取得 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->$db_conn);
 }*/
 
 /*获得客户端真实的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 show_error($str){  
  echo "<script language='Javascript'> alert('".$str."');history.back(-1);</script>";
 }
 
}
?>

分享到:
评论

相关推荐

    php参考手册集

    **PHP参考手册集** 这个压缩包集合了四个重要的PHP学习资源,涵盖了从PHP4到PHP5的版本,以及专门的中文函数手册,是中文开发者学习和查阅PHP语法、函数及特性的宝贵资料。 1. **《PHP4中文参考手册》** PHP4是...

    官方php 参考手册 (CHM)

    php 参考手册 官方php 参考手册 (CHM) 版权信息 Copyright © 1997 - 2012,PHP 文档组版权所有。发行本资料必须服从 Creative Commons Attribution 3.0 或更新版许可中阐明的条款及条件。Creative Commons ...

    php参考手册

    非常详细的中文PHP参考手册

    PHP参考手册全集

    《PHP参考手册全集》是PHP开发者不可或缺的学习资源,它涵盖了PHP语言的各个方面,包括语法、函数、类库以及各种编程技巧。这份手册是李炎恢老师在其第一季PHP视频教程中特别推荐的,旨在为学习者提供全面、深入的...

    php参考文档+正则表达式+php开源代码

    本文将深入探讨“PHP参考文档”、“正则表达式”以及“PHP开源代码”这三个核心概念,帮助开发者更好地理解和应用它们。 首先,PHP参考文档是开发者不可或缺的工具。它包含了PHP语言的所有内置函数、类、常量以及...

    PHP参考手册(中英文均有)

    《PHP参考手册》是PHP开发者不可或缺的工具书,无论初学者还是资深工程师,都能从中获取必要的知识和指导。这份手册提供了中英文两个版本,方便不同语言背景的用户使用。手册以CHM(Microsoft Compiled HTML Help)...

    php 参考手册(中文)

    《PHP参考手册(中文版)》是一份详尽的编程指南,专为PHP开发者提供全面的语言及函数参考资料。这份手册不仅包含了大量的函数介绍,还涵盖了PHP语言的基本概念、语法特性以及核心功能,是学习和进阶PHP编程的重要...

    PHP参考手册_中文.chm

    PHP中文参考手册,中文版带用户评论,chm格式

    PHP资源大全 PHP参考 PHP学习

    PHP资源大全 PHP参考 PHP学习使用 (仅提供各个资源下载地址)

    无乱码PHP参考手册

    无乱码PHP参考手册,2014-04-08

    PHP参考手册

    PHP7.0参考手册,中文版手册,PHP程序员宝典,开发人员必须品。

    PHP函数参考手册

    PHP 函数参考手册 PHP 基础知识点: * PHP 介绍:PHP 是一种服务器端脚本语言,主要用于 web 开发。 * PHP 安装:PHP 安装过程包括下载、解压、配置和测试等步骤。 * PHP 语法:PHP 语法包括变量、数据类型、...

    php参考试题汇编.pdf

    php参考试题汇编.pdf

    php参考试题借鉴.pdf

    php参考试题借鉴.pdf

    w3school PHP参考手册 1.1

    w3school PHP参考手册 1.1

    php参考手册英文版

    php的参考手册php的参考手册php的参考手册php的参考手册php的参考手册

    php中文参考手册chm

    《PHP中文参考手册chm》是一部详尽且全面的PHP编程指南,专为中文用户设计。这个CHM(Compiled Help Manual)文件是Windows系统的帮助文档格式,它将大量的PHP编程知识整理成一个易于检索和阅读的集合。在解压后的...

Global site tag (gtag.js) - Google Analytics