ホームページ > 記事 > WeChat アプレット > WeChat開発のためのデータベース運用
この記事では主にWeChatパブリックプラットフォーム開発のデータベース運用に関する関連情報を紹介しますので、必要な方は参考にしてください
1.はじめに
そこにあるAPIを呼び出すだけで機能開発が完了します。データベース操作ではありません。その後の高度な機能の開発ではデータベースを使用する必要があるため、この記事では読者の参考のためにMySQLデータベースの操作を簡単に紹介します。
2. アイデア分析
Baidu Developer Center は、強力なクラウド データベース (MySQL、MongoDB、 Redis を含む) を提供します。このチュートリアルでは、誰もが使い慣れている MySQL データベースの分析を実行します。 WeChatとデータベースの連携を実現するデモ。
BAE アプリケーションでクラウド データベースを使用するのは非常に簡単です。データベース リスト内の名前は、データベースに接続するときの dbname です。ユーザー名、パスワード、接続アドレス、ポートは、アプリケーションの環境変数を通じて取得されます。
標準の PHP Mysql または PHP Mysqli 拡張機能を使用してデータベースにアクセスできます。これら 2 つの拡張機能は BAE の PHP ですでに提供されており、アプリケーションで直接使用できます。
3. BAE 3.1 Baidu Developer Center -> クラウド環境 -> MySQL (クラウド データベース) にログインします。 > ;
データベースの作成3.2 データベースの作成
注:各アプリケーションには 1G の無料割り当てを享受できるデータベースが 1 つだけあり、他のデータベースには無料割り当ての割引は適用されません。この特典は、無料割り当てを使用したデータベースが削除された場合にのみ再度使用できます。 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 操作
データベースとデータ テーブルの作成はここで終了します。コードは、詳細を説明するために以下に記述されます。データベースとデータテーブルの使用。
4. 公式サンプル (PHP MySQL)
BAE BAE が提供する公式デモ (PHP MySQL) のサンプルは次のとおりです:
mysql/basic.php ファイルの内容<!--?php require_once 'includes/configure.php'; 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('HTTP_BAE_ENV_ADDR_SQL_IP'); $this->user = getenv('HTTP_BAE_ENV_AK'); $this->password = getenv('HTTP_BAE_ENV_SK'); $this->port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT'); $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.
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('David','860510', 'abcabc', '2013-09-27 17:14:28')"; //$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 ' '; } $res->free(); ?>
テスト結果:
10. WeChat とのインタラクションを実装する ( Mysqli 拡張機能)
10.1 事前操作A. MySQLi_BAE.class.php ファイルを導入します
//データベース関数ファイル require_once "MySQLi_BAE.class.php" を導入します
B.
オブジェクトをインスタンス化しますpublic functionconstruct( } ,'$keywords[1]','$keywords[2]','$nowtime')";$res = $this->mysqli_BAE->execute_dml($insert_sql);
0 テスト結果:。 10.3 テスト照会操作 テストコード:$ select_sql = "select * from test_mysql where from_user = '$ Fromusername'" "; AE-& GT ;execute_dql($select_sql);$rows=$select_res ->fetch_array(MYSQLI_ASSOC);
テスト結果:
10.4 テスト更新操作テストコード: $update_sql="UPDATE test_mysql SET パスワード= '$new_password' WHERE from_user='$fromUser名前」 ;$res = $this->mysqli_BAE->execute_dml($update_sql);
テスト結果:
10.5 テスト削除操作テストコード: $delete_sql="テストから削除_mysql どこにfrom_user='$fromUsername'";$res = $this->mysqli_BAE->execute_dml($delete_sql);
テスト結果:
WeChat との対話テストは成功しました。 【関連推奨事項】1.
特別な推奨事項:「php Programmer Toolbox」V0.1バージョンのダウンロード
2. WeChatパブリックアカウントプラットフォームのソースコードのダウンロード3.接続王 v3.4.5 アドバンス ビジネス バージョン WeChat ルービック キューブ ソース コード
以上がWeChat開発のためのデータベース運用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。