PHP MySql的封裝及使用

1,類(lèi)的封裝

class ZYMySqlManager{

public $db;


//單例
static private $zymysqlmanger;
//判斷實(shí)例初始化次數(shù)
private  function __construct()
{

}
//單例初始化

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

    //判斷實(shí)例是否初始化
    if (!isset(self::$zymysqlmanger)) {

        self::$zymysqlmanger = new self();

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

}
//防止被重寫(xiě)
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){//判斷鏈接數(shù)據(jù)庫(kù)是否成功

    }else{

    }
    //創(chuàng)建db文件,如果存在不會(huì)重新創(chuàng)建
    if (mysqli_query($this->db,"CREATE DATABASE phpBRServiceDB")){

    }else{

    }
    //更改默認(rèn)選中的db文件
    mysqli_select_db($this->db,"phpBRServiceDB");
    // 編碼設(shè)置
    mysqli_set_charset('utf8',$this->db);


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




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

    mysqli_query($this->db,$sqlStr);
}
//查詢數(shù)據(jù)
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();

//遍歷查詢結(jié)果
    while ($item = mysqli_fetch_array($searchResult)){

        $dataDic = array();
        for ($i = 0; $i < count($keysArr); $i ++){
            $key = $keysArr[$i];
            //對(duì)null數(shù)據(jù)的處理
            if ($item[$key]){
                $dataDic[$key] = $item[$key];
            }

        }

        $arr[] = $dataDic;
    };

    return $arr;

}

//刪除數(shù)據(jù)
public function deleData($sqlStr){
    mysqli_query($this->db,$sqlStr);
}
//更新數(shù)據(jù)
public function updateData($sqlStr){
    $this->db->query($sqlStr);
}

}

2,注冊(cè)實(shí)例 創(chuàng)建一個(gè)新的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,登錄實(shí)例

<?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,修改用戶信息實(shí)例

<?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,查詢用戶信息實(shí)例

<?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,封裝的用戶信息處理類(lèi)

  <?php

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

/**
 注冊(cè)功能
 */
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;
    }
    //創(chuàng)建表
    $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);

//查詢用戶是否已經(jīng)被注冊(cè)
    $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){//表示用戶已經(jīng)被注冊(cè)了
        $resultArr["code"] = 202;
        $resultArr["message"] = "phone is used";
        return $resultArr;
    }

//未注冊(cè)則添加新的用戶信息
    $insertSql = "insert into $tabName (phone,password) values ('$phone','$password')";
    $mySql->insterData($insertSql);

//再次查詢用戶信息,返回給客戶端
    $dataArr = $mySql->queryData($querySql,$keysArr);
    if ($dataArr && count($dataArr) > 0){//表示用戶已經(jīng)被注冊(cè)了
        $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;
    }

//查詢用戶是否已經(jīng)被注冊(cè)
    $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){//表示用戶已經(jīng)被注冊(cè)了
        $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"] = "缺少參數(shù)";
        return $resultArr;
    }
    //查詢用戶是否已經(jīng)被注冊(cè)
    $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){//表示用戶已經(jīng)被注冊(cè)了
        $resultArr["code"] = 200;
        $resultArr["message"] = "success";
        $resultArr["data"] = $dataArr;
        return $resultArr;
    }

    $resultArr["code"] = 202;
    $resultArr["message"] = "沒(méi)有此用戶";
    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"] = "缺少參數(shù)";
        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){//表示用戶已經(jīng)被注冊(cè)了
        $resultArr["code"] = 200;
        $resultArr["message"] = "success";
        $resultArr["data"] = $dataArr;
        return $resultArr;
    }

    $resultArr["code"] = 202;
    $resultArr["message"] = "沒(méi)有此用戶";
    return $resultArr;

}


}
?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • 今天的最后一節(jié)課是體育課,由于我們數(shù)學(xué)課上的練習(xí)題沒(méi)有寫(xiě)完,體育課晚上了10分鐘,等我們寫(xiě)完練習(xí)題我們就去操...
    楊尚峰閱讀 181評(píng)論 0 0

友情鏈接更多精彩內(nèi)容