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;
}
}
?>