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实现框架(一)
Oct 09 PHP
PHP入门学习的几个不错的实例代码
Jul 13 PHP
两个强悍的php 图像处理类1
Jun 15 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
Laravel5中contracts详解
Mar 02 PHP
PHP实现CSV文件的导入和导出类
Mar 24 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
PHP+Ajax实现验证码的实时验证
Jul 20 PHP
PHP 进度条函数的简单实例
Sep 19 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
php中file_get_contents()函数用法实例
Feb 21 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 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与SQL注入攻击[三]
2007/04/17 PHP
加强版phplib的DB类
2008/03/31 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
详解如何较好的使用js
2016/12/16 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
python读取二进制mnist实例详解
2017/05/31 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
Superdry极度干燥美国官网:英国制造的服装品牌
2018/11/13 全球购物
建筑文秘专业个人求职信范文
2013/12/28 职场文书
七年级历史教学反思
2014/02/05 职场文书
党员入党表决心的话
2014/03/11 职场文书
药品业务员岗位职责
2014/04/17 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
springboot读取resources下文件的方式详解
2022/06/21 Java/Android
教你nginx跳转配置的四种方式
2022/07/07 Servers