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 中的批处理的实现
Jun 14 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
PHP 上传文件的方法(类)
Jul 30 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
解析php获取字符串的编码格式的方法(函数)
Jun 21 PHP
ThinkPHP令牌验证实例
Jun 18 PHP
PHP通过串口实现发送短信
Jul 08 PHP
PHP多文件上传实例
Jul 09 PHP
php提交post数组参数实例分析
Dec 17 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
Aug 17 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 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中使用Oracle数据库(2)
2006/10/09 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
用于table内容排序
2006/07/21 Javascript
Z-Blog中用到的js代码
2007/03/15 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
Python中threading模块join函数用法实例分析
2015/06/04 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
一篇文章搞懂Python的类与对象名称空间
2018/12/10 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
python unichr函数知识点总结
2020/12/16 Python
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
英国著名书店:Foyles
2018/12/01 全球购物
给老婆的道歉信
2015/01/20 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
公司开业致辞
2015/07/29 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python