微信開發資料庫操作

Y2J
發布: 2017-05-15 13:24:02
原創
2001 人瀏覽過

這篇文章主要介紹了微信公眾平台開發資料庫操作的相關資料,需要的朋友可以參考下

一、簡介

前面講解的功能開發都是簡單的呼叫API 完成的,沒有對資料庫進行操作。在接下來的進階功能開發中,需要使用到資料庫,所以在這篇中,將對MySQL 資料庫的操作做一下簡單的介紹,以供讀者參考。

二、思路分析

百度開發者中心提供了強大的雲端資料庫(包括MySQL, MongoDB, Redis),在這一節教學中,我們將對大家比較熟悉的MySQL 資料庫進行操作演示,實現微信與資料庫的交互。

在BAE應用程式中使用雲端資料庫十分簡單,資料庫清單中的名稱即是連接資料庫時的dbname。使用者名稱、密碼、連接位址和連接埠在應用程式中透過環境變數取出。

可使用標準的PHP Mysql 或PHP Mysqli 擴充存取資料庫,BAE的PHP中已提供這兩個擴展,應用可直接使用。

三、建立BAE MySQL資料庫

#3.1 登陸百度開發者中心-> 管理中心-> 選擇應用程式-> 雲環境->服務管理-> MySQL(雲端資料庫) -> 建立資料庫

3.2 建立資料庫

#注意:每個應用程式有且只有一個資料庫享有1G免費配額,其餘資料庫皆不享有免費配額優惠。只有將已使用免費配額的資料庫刪除,才能再次使用此優惠。

3.3 建立成功

在這裡可以看到資料庫的名稱,也就是dbname,後面會被使用到。

點選 “phpMyadmin” 存取資料庫。

3.4 phpMyadmin介面

新資料表,輸入表名及欄位數,點選 「執行」 建立表格。

3.5 建立表格

輸入欄位名稱及欄位類型,輸入完畢後,點選下方的「儲存」,完成表格的建立。

3.6 建立完成

修改id 欄位為主鍵並新增AUTO_INCREMENT;修改from_user 欄位為唯一(UNIQUE),完成表格的修改。

建表作業也可以使用下列SQL語句完成:

CREATE TABLE IF NOT EXISTS `test_mysql`
 ( `id` int(11) NOT NULL AUTO_INCREMENT,
 `from_user` varchar(40) DEFAULT NULL, 
`account` varchar(40) DEFAULT NULL, 
`password` varchar(40) DEFAULT NULL,
 `update_time` datetime DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY 
`from_user` (`from_user`));
登入後複製

phpMyAdmin 操作

資料庫及資料表的建立到此結束,以下將編寫程式碼對資料庫及資料表的使用做詳細講解。

四、官方範例(PHP MySQL)

BAE 官方提供的demo(PHP MySQL)範例如下:

mysql/basic.php 文件內容

<!--?php
 
require_once &#39;includes/configure.php&#39;;
 
class MySQLi_BAE{
 
  private $mysqli;
  private $host;
  private $user;
  private $password;
  private $port;
  private $database;
 
  //在类之外访问私有变量时使用
  function get($property_name){
    if(isset($this--->$property_name)){
      return($this->$property_name);
    }else{
      return(NULL);
    }  
  }
 
  function set($property_name, $value){
    $this->$property_name=$value;
  }
 
  function construct(){
 
    /*从平台获取查询要连接的数据库名称*/
    $this->database = MYSQLNAME;
 
    /*从环境变量里取出数据库连接需要的参数*/
    $this->host = getenv(&#39;HTTP_BAE_ENV_ADDR_SQL_IP&#39;);
    $this->user = getenv(&#39;HTTP_BAE_ENV_AK&#39;);
    $this->password = getenv(&#39;HTTP_BAE_ENV_SK&#39;);
    $this->port = getenv(&#39;HTTP_BAE_ENV_ADDR_SQL_PORT&#39;);
 
    $this->mysqli = new mysqli($this->host, $this->user, $this->password, $this->database, $this->port);
    if($this->mysqli->connect_error){
      die("Connect Server Failed:".$this->mysqli->error);
    }
     
    $this->mysqli->query("set names utf8");
  }
 
  //dql statement
  function execute_dql($query){
     
    $res = $this->mysqli->query($query) or die("操作失败".$this->mysqli->error);
    return $res;
     
    //$this->mysqli->close();
  }
 
  //dml statement
  function execute_dml($query){
     
    $res = $this->mysqli->query($query) or die("操作失败".$this->mysqli->error);
     
    if(!$res){
      return 0;//失败
    }else{
      if($this->mysqli->affected_rows > 0){
        return 1;//执行成功
      }else{
        return 2;//没有行受影响
      }
    }
   
    //$this->mysqli->close();
  }
}
?>
登入後複製

九、測試類別的使用

9.1 測試DML操作

測試程式碼:

<!--?php
 
require_once "MySQLi_BAE.class.php";
 
$mysqli_BAE=new MySQLi_BAE();
 
 
//**************dml*******************
$sql="insert into test_mysql (from_user, account, password, update_time) values(&#39;David&#39;,&#39;860510&#39;, &#39;abcabc&#39;, &#39;2013-09-27 17:14:28&#39;)";
 
//$sql="update test_mysql set account = 860512 where account = 860510";
 
//$sql="delete from test_mysql where account = 860512";
 
$res=$mysqli_BAE--->execute_dml($sql);
 
if($res==0){
  echo "执行失败";
}elseif($res==1){
  echo "执行成功";
}else{
  echo "没有行数影响";
}
?>
登入後複製

測試結果:

9.2 測試DQL運算

測試程式碼:

測試結果:

十、實作與微信的互動(Mysqli 擴充)

10.1 前置運算

A. 引入MySQLi_BAE.class.php 檔案###### //引入資料庫函數檔require_once "MySQLi_BAE.class.php";######B.實例化###物件#########public function construct(){ $this->mysqli_BAE =new MySQLi_BAE();}######10.2 測試插入操作#######測試程式碼:######$insert_sql="INSERT INTO test_mysql(from_user, account, password, update_time) VALUES( '$fromUsername',######'$keywords[1]','$keywords[2]','$nowtime')";$res = $this->mysqli_BAE->execute_dml($insert_sql );###

測試結果:

10.3 測試查詢操作

測試程式碼:

$select_sql="SELECT * FROM test_mysql WHERE from_user ='$fromUsername'";

$select_res=$this->mysqli_BAE->execute_dql($select_sql);$rows=$select_res->fetch_array(MYSQLI_相信測試結果:

10.4 測試更新操作

#測試程式碼:

$update_sql="UPDATE test_mysql SET password='$new_password' WHERE from_user='$fromUsername'";

$res = $this->mysqli_BAE->execute_dml($update_sql);

測試結果:

10.5 測試刪除操作

測試程式碼:

$delete_sql="DELETE FROM test_mysql WHERE from_user='$fromUsername'";

#$res = $this->mysqli_BAE->execute_dml($delete_sql);

測試結果:

與微信交互測試成功。

【相關推薦】


1.

特別推薦「php程式設計師工具箱」V0.1版本下載2.

微信公眾號平台原始碼下載

#3. 

微信人脈王v3.4.5高階商業版微信魔術方塊原始碼

以上是微信開發資料庫操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板