Cet article présente principalement les informations pertinentes sur le fonctionnement de la base de données du développement de la plateforme publique WeChat. Les amis dans le besoin peuvent s'y référer
1 Introduction
Les fonctions. expliqué précédemment Le développement s'effectue en appelant simplement API sans utiliser la base de données. Dans le développement ultérieur de fonctions avancées, une base de données devra être utilisée, donc dans cet article, le fonctionnement de la base de données MySQL sera brièvement présenté pour référence aux lecteurs.
2. Analyse des idées
Baidu Developer Center fournit de puissantes bases de données cloud (notamment MySQL, MongoDB, Redis), dans ce tutoriel, nous démontrerons le fonctionnement de la base de données MySQL que tout le monde connaît et réaliserons l'interaction entre WeChat et la base de données.
Il est très simple d'utiliser la base de données cloud dans l'application BAE. Le nom dans la liste des bases de données est le nom de la base de données lors de la connexion à la base de données . Le nom d'utilisateur, le mot de passe, l'adresse de connexion et le port sont récupérés via les variables d'environnement de l'application.
Vous pouvez utiliser l'extension standard PHP Mysql ou PHP Mysqli pour accéder à la base de données. Ces deux extensions sont déjà fournies dans le PHP de BAE et peuvent être utilisées directement par l'application.
3. Créer BAE Base de données MySQL
3.1 Connectez-vous au Centre de développement Baidu-> Environnement cloud-> Gestion des services-> MySQL (base de données cloud) -> Créer une base de données
Remarque :
Chaque application possède une et une seule base de données qui bénéficie du quota gratuit de 1G, et les autres bases de données ne bénéficient pas de la remise sur le quota gratuit. Cette offre ne peut être réutilisée qu'ensupprimant la base de données ayant utilisé le quota gratuit.
3.3 Créé avec succès Ici vous pouvez voir le nom de la base de données, qui est dbname, qui sera utilisé plus tard. Cliquez sur « phpMyadmin » pour accéder à la base de données.
3.4 Interface phpMyadmin Créez une nouvelle table de données, entrez le nom de la table et le nombre de champs, puis cliquez sur "Exécuter" pour créer la table. 3.5 Créer un tableau Entrez le nom du champ et le type de champ Après avoir saisi, cliquez sur "Enregistrer" ci-dessous pour terminer la création du tableau. 3.6 Création terminéeModifiez le champ id comme clé primaire et ajoutez AUTO_INCREMENT modifiez le champ from_user en unique (UNIQUE) pour terminer la modification de ; le tableau. L'opération de création de table peut également être complétée à l'aide de l'instruction SQL suivante :Opération phpMyAdmin
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`));
4. Exemple officiel (PHP MySQL)
L'exemple de démonstration (PHP MySQL) officiellement fourni par BAE est le suivant :
mysql/basic Contenu du fichier .php
9. Utilisation des classes de test
9.1 Test du fonctionnement DML<!--?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(); } } ?>
Code de test :
Résultats des tests :<!--?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 "没有行数影响"; } ?>
<!--?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. Implémenter l'interaction avec WeChat (extension MySQLi)
10.1 Pré-opérations
A Présenter la classe MySQLi_BAE. Fichier .php //Introduire le fichier de fonction de base de données require_once "MySQLi_BAE.class.php";
B Instancier l'
objetfonction publique. construct(){ $this->mysqli_BAE=new MySQLi_BAE();}
10.2 Test de l'opération d'insertionCode de test :
$insert_sql="INSERT INTO test_mysql( from_user, compte, mot de passe, update_time) VALUES('$fromUsername',
'$keywords[1]','$keywords[2]','$nowtime')";$res = $this- >mysqli_BAE- >execute_dml($insert_sql);
Résultats des tests :
10.3 Opération de requête de test
Code de test :
$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_ASSOC);
Résultats des tests :
10.4 Test de l'opération de mise à jour
Code de test :
$update_sql="UPDATE test_mysql SET password='$new_password' WHERE from_user='$fromUsername'";
$res = $this->mysqli_BAE->execute_dml($update_sql);
Résultat du test :
10.5 Test de l'opération de suppression
Code de test :
$delete_sql="DELETE FROM test_mysql WHERE from_user='$fromUsername'";
$res = $this->mysqli_BAE->execute_dml($delete_sql);
Résultat du test :
Le test d'interaction avec WeChat a réussi.
【Recommandations associées】
1. Recommandation spéciale : "php Programmer Toolbox" version V0.1 Télécharger
2. Téléchargement du code source de la plateforme de compte public WeChat
3 Code source de WeChat People King v3.4.5 Advanced Business Edition WeChat Rubik's Cube
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!