搜尋
首頁微信小程式微信開發微信開發資料庫操作

微信開發資料庫操作

May 15, 2017 pm 01:24 PM
資料庫操作

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

一、簡介

前面講解的功能開發都是簡單的呼叫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運算

測試程式碼:

<!--?php
 
require_once "MySQLi_BAE.class.php";
 
$mysqli_BAE=new MySQLi_BAE();
 
//**************dql******************
$sql="select * from test_mysql";
 
$res=$mysqli_BAE--->execute_dql($sql);
 
while($row=$res->fetch_row()){
   
  foreach($row as $key=>$val){
    echo "$val--";
  }
  echo &#39;
&#39;;
}
 
$res->free();
?>
測試結果:

十、實作與微信的互動(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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。