php实现Mysql简易操作类

yipeiwu_com6年前Mysql基础

自己封装的Mysql简易操作类,已塞在Ben框架中,基于PDO来写的,代码风格上有些无厘头。。。

mysql.class.php

<?php
class mysql extends PDO{
  public $server;
  public $database;
  public $user;
  public $password;
  public $sql;
  public function __construct($server,$database,$user,$password,$port=3306){
    $this->server = $server;
    $this->database = $database;
    $this->user = $user;
    $this->password = $password;
    parent::__construct("mysql:host=$server;port=$port;dbname=$database",$user,$password);
    $this->query('SET NAMES utf8');
  }
  public function drop($table){
    $sql = 'DROP TABLE '.$table.';';
    $re = $this->query($sql);
    if($re){
      return true;
    }else{
      return false;
    }
  }
  public function insert($table,$name,$value=null){
    $sql = "INSERT INTO ".$table.'(';
    if($value == null){
    $arrname = array_keys($name);
    $arrvalue = array_values($name);
    }else{
    $arrname = explode('|', $name);
    $arrvalue = explode('|', $value);
    }
    for($i=0;$i<count($arrname);$i++){
      if($i==count($arrname)-1){
        $sql = $sql.$arrname[$i];
      }else{
        $sql = $sql.$arrname[$i].",";
      }
    }
    $sql = $sql.")VALUES(";
    for($i=0;$i<count($arrvalue);$i++){
      if($i==count($arrvalue)-1){
        $sql = $sql."'".$arrvalue[$i]."'";
      }else{
        $sql = $sql."'".$arrvalue[$i]."',";
      }
    }
    $sql .=");";
    $re = $this->query($sql);
    if($re){
      return true;
    }else{
      return false;
    }
  }
  public function delete($table,$Conditionsname,$Conditionsvalue=null){
    if($Conditionsvalue!=null){
      $sql = "DELETE FROM ".$table." WHERE ".$Conditionsname."='".$Conditionsvalue."';";
    }else{
      $sql = "DELETE FROM ".$table." WHERE ";
      $arrname = array_keys($Conditionsname);
      $arrvalue = array_values($Conditionsname);
      for($i=0;$i<count($arrname);$i++){
        if($i==count($arrname)-1){
          $sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
        }else{
          $sql.=$arrname[$i].'='."'".$arrvalue[$i]."',";
        }
      }
      $sql.=';';
    }
    $re = $this->query($sql);
    if($re){
      return true;
    }else{
      return false;
    }
  }
  public function select($table,$name,$Conditionsname,$Conditionsvalue=null){
    if($Conditionsvalue!=null){
      $sql = "SELECT ".$name." FROM ".$table." WHERE ".$Conditionsname."='".$Conditionsvalue."';";
    }else{
      $sql = "SELECT ".$name." FROM ".$table." WHERE ";
      $arrname = array_keys($Conditionsname);
      $arrvalue = array_values($Conditionsname);
      for($i=0;$i<count($arrname);$i++){
        if($i==count($arrname)-1){
          $sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
        }else{
          $sql.=$arrname[$i].'='."'".$arrvalue[$i]."' and ";
        }
      }
      $sql.=';';
    }
    $re = $this->query($sql);
    $row = $re->fetch();
    return $row[$name];
  }
  public function update($table,$name,$value,$Conditionsname,$Conditionsvalue=null){
    if($Conditionsvalue!=null){
      $sql = "UPDATE ".$table." SET ".$name."= '".$value."' WHERE ".$Conditionsname."='".$Conditionsvalue."';";
    }else{
      $sql = "UPDATE ".$table." SET ".$name."= '".$value."' WHERE ";
      $arrname = array_keys($Conditionsname);
      $arrvalue = array_values($Conditionsname);
      for($i=0;$i<count($arrname);$i++){
        if($i==count($arrname)-1){
          $sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
        }else{
          $sql.=$arrname[$i].'='."'".$arrvalue[$i]."' and ";
        }
      }
      $sql.=';';
    }
    $re = $this->query($sql);
    if($re){
      return true;
    }else{
      return false;
    }
  }
  public function group($table,$name){
    $sql = "SELECT ".$name." FROM ".$table.";";
    $return = array();
    $re = $this->query($sql);
    while($row = $re->fetch(PDO::FETCH_ASSOC)){
      array_push($return,$row[$name]);
    }
    return $return;
  }
  public function fetchall($sql){
    $return = array();
    $re = $this->query($sql);
    while($row = $re->fetch(PDO::FETCH_ASSOC)){
      array_push($return,$row);
    }
    return $return;
  }
}

相关文章

PHP+MySQL实现无极限分类栏目的方法

PHP+MySQL实现无极限分类栏目的方法

本文实例讲述了PHP+MySQL实现无极限分类栏目的方法。分享给大家供大家参考,具体如下: 一个非常简单清晰简单的无极限分类范例,带缩进效果,只需查询一次数据表,然后递归遍历结果集,就可...

php入门之连接mysql数据库的一个类

php入门之连接mysql数据库的一个类

项目结构: 运行效果; conn.php 复制代码 代码如下: <?php class ConnectionMySQL{ //主机 private $host="localhos...

MySQL授权问题总结

我用localhost的root帐号不能连 最后请教DBA组新建用户搞定! 现弄些受权用户的资料 以备不时之需 授权表使用举例 grant用于给增加用户和创建权限,r...

脚本安全的本质_PHP+MYSQL第1/3页

一 前言 问题的存在 从代码级别上,也就是应用层次上考虑代码安全的话(也就是不考虑底层的语言本身等问题的漏洞),脚本安全问题就是函数和变量的问题。变量直接或者间接的接收用户不安全的的输入...

php和mysql中uft-8中文编码乱码的几种解决办法

PHP页面转UTF-8编码问题 1.在代码开始出加入一行: 复制代码 代码如下: header("Content-Type: text/html;charset=utf-8"); 2....