php微信公众号开发(2)百度BAE搭建和数据库使用


Posted in PHP onDecember 15, 2016

微信越来越火,今天开始学习微信公众号开发,在开发之前,假如你已经了解PHP知识和HTML/css等技术。

1.申请微信公众号:地址https://mp.weixin.qq.com/

注册前需要手拿身份证照片半身像,保证身份证信息看清楚,我用iPhone 4s拍的可以使用,千万不要美化照片,原装即可,又不是相亲。

填写相关信息,真实即可,在7个工作日审核是否通过,一般两三天就知道结果,如果不通过,重新提交即可,你只有一共4次机会,要注意。

一个人可以申请两个公众号,因为手机号和身份证都只能登记2次。

注册要使用邮箱Email,所以提前申请,邮箱是用来验证的,也是登陆号码。

个人用户只能申请订阅号,政府,企业,媒体可以申请服务号,两种开发基本一样,不过服务好更多功能,我们只能选择订阅号。

申请通过后,登录,先给你的账号上传一张头像,注意要和你的账号主题一样。以及可以绑定微博等等。

2申请百度BAE,类似新浪SAE,两个操作差不多,这里用BAE作为例子。

申请地址:http://developer.baidu.com/

注册个人类型即可,没有啥说的,基本没啥问题。

通过申请以后,你就可以使用百度BAE了,百度bae可以建站或作为开发应用的服务端平台,提供有很多接口。

找到管理中心-》云平台管理-》右上角快速创建应用:

填写应用名称,接入方式选择移动应用,确定即可。

应用生成,就可以对应用设置云环境,也就是哪种语言来开发,这里选择php。

熟悉一下后台,提供有很多功能。后面详细介绍,这里只是预备知识!

上面主要是一些准备知识,接着还是准备知识,开发微信也可以不使用数据库,但是要想搭建一些查询类应用,就可能使用到数据库操作,所以本节主要涉及到百度BAE上面的数据库表的创建,插入数据,修改数据,删除数据,删除表,以及事务操作。

开发前去bae创建应用,然后添加数据库MySQL,就会自动生成一个数据库名称,是一串字符串。

这里使用mysqli,测试,MySQL差不多。

$dbname = "tIXZeAfkXSSgYzKuMwGZ";//百度bae数据库 这就是生成的数据库,要替换成自己的
  
 /*从环境变量里取出数据库连接需要的参数*/
 $host = getenv('HTTP_BAE_ENV_ADDR_SQL_IP');
 $port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT');
 $user = getenv('HTTP_BAE_ENV_AK');
 $pwd = getenv('HTTP_BAE_ENV_SK');
  
 $db= new mysqli($host,$user,$pwd,$dbname,$port);
 if(mysqli_connect_errno()){
  die("coonet error").mysqli_connect_errno();
 }else{
  echo 'ok';
 }
$db->query("set names utf8");

 这就是百度bae数据库连接,接着就可以使用mysqli相关数据库方法去操作了。

1.创建表

$sql = "create table if not exists t_mysql(
 id int(10) primary key AUTO_INCREMENT,
 no int(10),
 name VARCHAR(255))";
$result = $db->query($sql);
if($result){
 echo "创建表成功";
}

 2.插入

$sql ="insert into t_mysql(id,no,name) values(null,1,'你好')";
$result = $db->query($sql);
if($result){
 echo '插入成功';
}

 3.修改

$sql ="update t_mysql set name='重活' where id=1";
$result = $db->query($sql);
if($db->affected_rows>0 && $result){
 echo '修改成功';
}

 4.删除

$sql ="delete from t_mysql where id=4";
$result = $db->query($sql);
if($result && $db->affected_rows>0){
 echo '删除成功';
}

 5.查询

$sql = "select * from t_mysql";
$result = $db->query($sql);
if($result){
 $row = $result->fetch_row(); //索引数组 $r[0]
 print_r($row);
}

 6.删除表

$sql = "drop table if exists t_mysql";
$result = $db->query($sql);
if($result){
 echo "删除表成功";
}

 7.事务(注意只有innoDB引擎支持 myisam不支持事务)

$db->autocommit(FALSE);
$result1 = $db->query("insert into t_mysql values(null,3,'2333')");
$result2 = $db->query("insert into t_mysql values(null,5,'44433')");
if($result1 && $result2){
 $db->commit();
 echo 'ok';
}else{
 $db->rollback();
}

上面就是BAE的基本操作,其实就是一般php操作数据库,足够在上边搭建一般的微信应用了。
文件下载http://xiazai.3water.com/201612/yuanma/baemysqli(3water.com).rar

外篇

mysql数据库连接代码

<?php
 
 $dbname = "tIXZeAfkXSSgYzKuMwGZ";//百度bae数据库
  
 /*从环境变量里取出数据库连接需要的参数*/
 $host = getenv('HTTP_BAE_ENV_ADDR_SQL_IP');
 $port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT');
 $user = getenv('HTTP_BAE_ENV_AK');
 $pwd = getenv('HTTP_BAE_ENV_SK');
  
 /*接着调用mysql_connect()连接服务器*/
 $link = @mysql_connect("{$host}:{$port}",$user,$pwd,true);
 if(!$link) {
  die("Connect Server Failed: " . mysql_error());
 }
 /*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/
 if(!mysql_select_db($dbname,$link)) {
  die("Select Database Failed: " . mysql_error($link));
 }
 else{
  echo 'ok';
 }
 mysql_query("set names utf8");//设置编码utf8
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP中在数据库中保存Checkbox数据(1)
Oct 09 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
php防止用户重复提交表单
Nov 02 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
PHP递归遍历多维数组实现无限分类的方法
May 06 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
php array_values 返回数组的所有值详解及实例
Nov 12 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
Yii2结合Workerman的websocket示例详解
Sep 10 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 #PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 #PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 #PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 #PHP
PHP接口并发测试的方法(推荐)
Dec 15 #PHP
浅谈PHP的反射机制
Dec 15 #PHP
php 三元运算符实例详细介绍
Dec 15 #PHP
You might like
PHP新手上路(六)
2006/10/09 PHP
destoon常用的安全设置概述
2014/06/21 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
JavaScript面向对象(极简主义法minimalist approach)
2012/07/17 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
在python中实现调用可执行文件.exe的3种方法
2019/07/07 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
财务管理专业推荐信
2013/11/19 职场文书
学生处主任岗位职责
2013/12/01 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
森林防火工作方案
2014/02/14 职场文书
《手指教学》反思
2014/02/14 职场文书
客户答谢会活动方案
2014/08/31 职场文书
高一军训感想
2015/08/07 职场文书
施工安全协议书
2016/03/22 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js