php微信公众号开发(2)百度BAE搭建和数据库使用
微信越来越火,今天开始学习微信公众号开发,在开发之前,假如你已经了解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.jb51.net/201612/yuanma/baemysqli(jb51.net).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 ?>