PHP MySql的封装及使用

1,类的封装

class ZYMySqlManager{

public $db;


//单例
static private $zymysqlmanger;
//判断实例初始化次数
private  function __construct()
{

}
//单例初始化

/**
 * @return
 */
static  public function  installmysql(){

    //判断实例是否初始化
    if (!isset(self::$zymysqlmanger)) {

        self::$zymysqlmanger = new self();

        $sqlManager = ZYMySqlManager::installmysql();
        $sqlManager ->openMySql();
    }
    return self::$zymysqlmanger;

}
//防止被重写
private  function  __clone()
{
    // TODO: Implement __clone() method.
}


public  function openMySql(){

    $this->db = mysqli_connect("localhost:3306","root","abc123654");

  //        mysqli_select_db("phpBRService",$this->db);
    if ($this->db){//判断链接数据库是否成功

    }else{

    }
    //创建db文件,如果存在不会重新创建
    if (mysqli_query($this->db,"CREATE DATABASE phpBRServiceDB")){

    }else{

    }
    //更改默认选中的db文件
    mysqli_select_db($this->db,"phpBRServiceDB");
    // 编码设置
    mysqli_set_charset('utf8',$this->db);


}
public function creatTab($sqlStr){
//创建表
//        $sqlc = "CREATE TABLE IF NOT EXISTS Persons
//            (
//              FirstName varchar(15),
//              LastName varchar(15),
//              Age int
//            )";




    mysqli_query($this->db,$sqlStr);
}
//插入数据
public function insterData($sqlStr){
    //插入数据
//    $sqlinser = "INSERT INTO Persons (FirstName, LastName, Age)
//VALUES ('Peter', 'Griffin', '35')";

    mysqli_query($this->db,$sqlStr);
}
//查询数据
public function queryData($sqlStr,$keysArr){
//        $result = mysqli_query($this->db,"SELECT * FROM     Persons");
//
//        while($row = mysqli_fetch_array($result))
//        {
//            echo $row['FirstName'] . " " . $row['LastName'];
//            echo "</br>";
//        }
//
//        mysqli_close($this->db);


    $searchResult = $this->db->query($sqlStr);

    $arr = array();

//遍历查询结果
    while ($item = mysqli_fetch_array($searchResult)){

        $dataDic = array();
        for ($i = 0; $i < count($keysArr); $i ++){
            $key = $keysArr[$i];
            //对null数据的处理
            if ($item[$key]){
                $dataDic[$key] = $item[$key];
            }

        }

        $arr[] = $dataDic;
    };

    return $arr;

}

//删除数据
public function deleData($sqlStr){
    mysqli_query($this->db,$sqlStr);
}
//更新数据
public function updateData($sqlStr){
    $this->db->query($sqlStr);
}

}

2,注册实例 创建一个新的php file作为接口文件

  <?php
require_once "../Objects/UserObject.php";
header('Content-Type:application/json;charset=utf-8');

$phone = $_GET["phone"];
$password = $_GET["password"];

$userObject = new UserObject();

$resultArr = $userObject->userRegister($phone,$password);


$result = json_encode($resultArr);
echo $result;

3,登录实例

<?php
require_once "../Objects/UserObject.php";


header('Content-Type:application/json;charset=utf-8');
$phone = $_GET["phone"];
$password = $_GET["password"];


$userObject = new UserObject();
$resultArr = $userObject->userLogin($phone,$password);
$result = json_encode($resultArr);
echo $result;

4,修改用户信息实例

<?php
require_once "../Objects/UserObject.php";


header('Content-Type:application/json;charset=utf-8');
$user_id = $_GET["id"];
$realname = $_GET["realname"];
$nickname = $_GET["nickname"];
$imgurl = $_GET["imgurl"];
$sign = $_GET["sign"];
$addr = $_GET["addr"];
$age = $_GET["age"];
$sex = $_GET["sex"];
$weichatid = $_GET["weichatid"];


$userObject = new UserObject();
$resultArr = $userObject->changeUserInfo($user_id,$realname,$nickname,$sign,$imgurl,$addr,$sex,$age,$weichatid);
$result = json_encode($resultArr);
echo $result;

5,查询用户信息实例

<?php
require_once "../Objects/UserObject.php";


header('Content-Type:application/json;charset=utf-8');
$user_id = $_GET["user_id"];

$userObject = new UserObject();
$resultArr = $userObject->getUserInfo($user_id);
$result = json_encode($resultArr);
echo $result;

6,封装的用户信息处理类

  <?php

require_once "../ZYSql/ZYMySqlManager.php";
class UserObject{

/**
 注册功能
 */
public function userRegister($phone,$password){

    $mySql = ZYMySqlManager::installmysql();
    $tabName = "UserList";
    $resultArr = array();

    if (!$phone || !$password || strlen($phone) != 11){
        $resultArr["code"] = 201;
        $resultArr["message"] = "phone or password is wrong";
        return $resultArr;
    }
    //创建表
    $sqlStr = "CREATE TABLE IF NOT EXISTS $tabName
        (
          nickname varchar(15),
          realname varchar(15),
          imgurl varchar(15),
          phone varchar(15),
          password varchar(15),
          sign varchar(15),
          addr varchar(15),
          age int,
          sex int,
          id integer primary key auto_increment,
          wechatid varchar(15),
          creattime varchar(15)
        )";
    $mySql->creatTab($sqlStr);

//查询用户是否已经被注册
    $keysArr = ["id","phone","realname","nickname","sign","sex","age","addr","imgurl","creattime"];
    $querySql = "select * from $tabName where phone='$phone'";

    $dataArr = $mySql->queryData($querySql,$keysArr);
    if ($dataArr && count($dataArr) > 0){//表示用户已经被注册了
        $resultArr["code"] = 202;
        $resultArr["message"] = "phone is used";
        return $resultArr;
    }

//未注册则添加新的用户信息
    $insertSql = "insert into $tabName (phone,password) values ('$phone','$password')";
    $mySql->insterData($insertSql);

//再次查询用户信息,返回给客户端
    $dataArr = $mySql->queryData($querySql,$keysArr);
    if ($dataArr && count($dataArr) > 0){//表示用户已经被注册了
        $resultArr["code"] = 200;
        $resultArr["message"] = "success";
        $resultArr["data"] = $dataArr;
        return $resultArr;
    }


    $resultArr["code"] = 203;
    $resultArr["message"] = "register fail";
    return $resultArr;
}
/**
 登录功能
 */
public function userLogin($phone,$password){
    $mySql = ZYMySqlManager::installmysql();
    $tabName = "UserList";
    $resultArr = array();
    if (!$phone || !$password || strlen($phone) != 11){
        $resultArr["code"] = 201;
        $resultArr["message"] = "phone or password is wrong";
        return $resultArr;
    }

//查询用户是否已经被注册
    $keysArr = ["id","phone","realname","nickname","sign","sex","age","addr","imgurl","creattime"];
    $querySql = "select * from $tabName where phone='$phone' and password='$password'";

    $dataArr = $mySql->queryData($querySql,$keysArr);
    if ($dataArr && count($dataArr) > 0){//表示用户已经被注册了
        $resultArr["code"] = 200;
        $resultArr["message"] = "success";
        $resultArr["data"] = $dataArr;
        return $resultArr;
    }

    $resultArr["code"] = 202;
    $resultArr["message"] = "log fail no user";
    return $resultArr;
}

/**
获取用户信息
 */
public function getUserInfo($user_id){
    $mySql = ZYMySqlManager::installmysql();
    $tabName = "UserList";
    $resultArr = array();
    if (!$user_id){
        $resultArr["code"] = 201;
        $resultArr["message"] = "缺少参数";
        return $resultArr;
    }
    //查询用户是否已经被注册
    $keysArr = ["id","phone","realname","nickname","sign","sex","age","addr","imgurl","creattime"];
    $querySql = "select * from $tabName where id='$user_id'";

    $dataArr = $mySql->queryData($querySql,$keysArr);
    if ($dataArr && count($dataArr) > 0){//表示用户已经被注册了
        $resultArr["code"] = 200;
        $resultArr["message"] = "success";
        $resultArr["data"] = $dataArr;
        return $resultArr;
    }

    $resultArr["code"] = 202;
    $resultArr["message"] = "没有此用户";
    return $resultArr;

}
/**
修改用户信息
*/

public function changeUserInfo($user_id,$realname,$nickname,$sign,$imgurl,$addr,$sex,$age,$weichatid){
    $mySql = ZYMySqlManager::installmysql();
    $tabName = "UserList";
    $resultArr = array();
    if (!$user_id){
        $resultArr["code"] = 201;
        $resultArr["message"] = "缺少参数";
        return $resultArr;
    }

    $updateStr = "update $tabName set  ";

    if ($realname){
        $updateStr = $updateStr."realname='$realname' ";
    }
    if ($nickname){
        $updateStr = $updateStr."nickname='$nickname' ";
    }
    if ($sign){
        $updateStr = $updateStr."sign='$sign' ";
    }
    if ($imgurl){
        $updateStr = $updateStr."imgurl='$imgurl' ";
    }
    if ($addr){
        $updateStr = $updateStr."addr='$addr' ";
    }
    if ($sex){
        $updateStr = $updateStr."sex=$sex ";
    }
    if ($age){
        $updateStr = $updateStr."age=$age ";
    }
    if ($weichatid){
        $updateStr = $updateStr."weichatid='$weichatid' ";
    }

    $updateStr = $updateStr."where id='$user_id'";
    $mySql->updateData($updateStr);
    echo $updateStr;

    //查询用户
    $keysArr = ["id","phone","realname","nickname","sign","sex","age","addr","imgurl","creattime"];

    $querySql = "select * from $tabName where id='$user_id'";

    $dataArr = $mySql->queryData($querySql,$keysArr);
    if ($dataArr && count($dataArr) > 0){//表示用户已经被注册了
        $resultArr["code"] = 200;
        $resultArr["message"] = "success";
        $resultArr["data"] = $dataArr;
        return $resultArr;
    }

    $resultArr["code"] = 202;
    $resultArr["message"] = "没有此用户";
    return $resultArr;

}


}
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,585评论 18 139
  • 今天的最后一节课是体育课,由于我们数学课上的练习题没有写完,体育课晚上了10分钟,等我们写完练习题我们就去操...
    杨尚峰阅读 147评论 0 0