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编实现程动态图像的创建代码
Sep 28 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 PHP
鸡肋的PHP单例模式应用详解
Jun 03 PHP
对淘宝URL中ID提取的PHP代码
Sep 01 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
Sep 30 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
PHP简单实现模拟登陆功能示例
Sep 15 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中函数内引用全局变量的方法
2008/10/20 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
2017/08/10 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
Python搜索引擎实现原理和方法
2017/11/27 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
国外的一些J2EE面试题一
2012/10/13 面试题
小学生美德少年事迹
2014/02/02 职场文书
初级会计求职信范文
2014/02/15 职场文书
社区党员公开承诺书
2014/08/30 职场文书
地下停车场租赁协议范本
2014/10/07 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
活动主持人开场白
2015/05/28 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP