微信公众号开发9连接数据库

还有解决不了的欢迎留言,也可以访问我的微博,知无不言,菜鸟一枚,感谢观看    http://weibo.com/rosekissyou

1 这里首先在服务器新建数据库  wechart_official  采用默认的utf8编码
然后建立测试的数据表

这里新建了表   weae_user  新建了一条数据

user_id (INT10) user_name(varchar60)  createtime (datetime)

2 修改代码的数据库配置文件   Common/Conf/config.php

'DB_TYPE'=>'mysql',// 数据库类型

'DB_HOST'=>'127.0.0.1',// 服务器地址

'DB_NAME'=>'wechart_official',// 数据库名

'DB_USER'=>'root',// 用户名

'DB_PWD'=>'自己的密码',// 密码

'DB_PORT'=>'3306',// 端口

'DB_PREFIX'=>'weae_',// 数据库表前缀

'DB_PARAMS'=>array(),// 数据库连接参数

'DB_DEBUG'=>TRUE,// 数据库调试模式 开启后可以记录SQL日志

'DB_FIELDS_CACHE'=>true,// 启用字段缓存 , 在调试模式下字段缓存和数据库缓存都不起作用

'DB_CHARSET'=>'utf8',// 数据库编码默认采用utf8

'DB_DEPLOY_TYPE'=>0,// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)

'DB_RW_SEPARATE'=>false,// 数据库读写是否分离 主从式有效

'DB_MASTER_NUM'=>1,// 读写分离后 主服务器数量

'DB_SLAVE_NO'=>'',// 指定从服务器序号

/*模板引擎更换

// 布局设置  可以更改为smarty引擎

'TMPL_ENGINE_TYPE'      =>  'Think',    // 默认模板引擎 以下设置仅对使用Think模板引擎有效

*/

// 布局设置

'TMPL_ENGINE_TYPE'=>'Smarty',// 默认模板引擎 以下设置仅对使用Think模板引擎有效

上面我直接就把模板引擎改成了smarty

3 添加model模块,在根目录下面新建Model ,然后分别新建IndexModel.class.php MenuModel.class.php UserModel.class.php

这里我主要使用IndexModel做测试,所以先在这里添加命名空间和继承父类Model

namespaceModel;

useThink\Model;

classIndexModelextendsModel{

}

接着我们在IndexController里面添加调用

user Model/IndexModel;

然后就可以开始测试了;

4 接下来开始连接服务器测试,先在IndexController控制器里面添加一个方法测试服务器

public functionuser_sql(){

$sql_user=new\Model\UserModel();

$select_user=$sql_user->select();

var_dump($select_user);

$this->display('index');

}

返回如下内容


这里也就表示数据库连接是正常的,下面开始在微信公众号里面使用数据库连接;


这里添加当用户输入 '测试数据库连接' 的时候调用数据库,就会显示博客里面的标题




实现效果如上图, 源码在下面直接给出,欢迎吐槽,也欢迎交流,一起共同进步,谢谢


namespaceAdmin\Controller;

useModel\ArticlesModel;

useModel\IndexModel;

useThink\Controller;

classIndexControllerextendsController {

//进行微信测试,跳过验证

public functionindex(){

//    $this->display();

self::responseMsg();

}

public functionvalid()

{

$echoStr=$_GET["echostr"];

//valid signature , option

if($this->checkSignature()){

echo$echoStr;

exit;

}

}

//消息回复

public functionresponseMsg()

{

//get post data, May be due to the different environments

$postStr=$GLOBALS["HTTP_RAW_POST_DATA"];

//extract post data

if(!empty($postStr)){

$postObj=simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);

$fromUsername=$postObj->FromUserName;

$toUsername=$postObj->ToUserName;

$keyword=trim($postObj->Content);

$input_type=$postObj->MsgType;// 分类获取不同的输入信息

$loc_x=$postObj->Location_X;

$loc_y=$postObj->Location_Y;

$time=time();

$textTpl="

%s

0

";

// 1 获取关注后的动作

$ev=$postObj->Event;

if($ev=="subscribe")

{

$msgType="text";

$contentStr="感谢你的关注百姓堂公众号,只为给您更好更健康的身体而存在!";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

echo$resultStr;

}

// 2 分类解析不同类型的输入信息

// 2.1 文本消息

if($input_type=="image") {

$msgType="text";

$contentStr="掐指一算,你今天缺我";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

echo$resultStr;

}

//1  发送定位返回附件的酒店

if($input_type=="location")

{

$textTpl="

%s

4

<![CDATA[你周边附近的酒店如下]]>

<![CDATA[%s]]>

<![CDATA[%s]]>

<![CDATA[%s]]>

1

";

$url="http://api.map.baidu.com/telematics/v2/local?location={$loc_y},{$loc_x}&keyWord=酒店&number=3&ak=1a3cde429f38434f1811a75e1a90310c";

$fa=file_get_contents($url);

$f=simplexml_load_string($fa);

$d1=$f->poiList->point[0]->name;

$d2=$f->poiList->point[1]->name;

$d3=$f->poiList->point[2]->name;

$w1=$f->poiList->point[0]->address;

$w2=$f->poiList->point[1]->address;

$w3=$f->poiList->point[2]->address;

$p1=$f->poiList->point[0]->telephone;

$p2=$f->poiList->point[1]->telephone;

$p3=$f->poiList->point[2]->telephone;

$q1=$f->poiList->point[0]->distance;

$q2=$f->poiList->point[1]->distance;

$q3=$f->poiList->point[2]->distance;

$m1="{$d1}地址{$w1}电话{$p1}距离{$q1}米";

$m2="{$d2}地址{$w2}电话{$p2}距离{$q2}米";

$m3="{$d3}地址{$w3}电话{$p3}距离{$q3}米";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$m1,$m2,$m3);

echo$resultStr;

}

if(!empty($keyword))

{

$msgType="text";

switch($keyword)

{

case'测试数据库连接':

//测试调用数据库

$sql_articles=new\Model\ArticlesModel();

$articles=$sql_articles->select();

$contentStr='';

foreach($articlesas$article){

echo$article['title'];

$contentStr.=$article['title'].'  ';

}

//  $contentStr = "请发送定位信息给我";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

echo$resultStr;

break;

case'1';

$textTpl="

%s

<![CDATA[年轮]]>

0

";

// $contentStr = "请搜索小程序 百姓堂 允许获取定位来使用该功能";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time);

echo$resultStr;

break;

case'2':

$contentStr="您有什么健康问题呢?请发送关键词,或者关注公众号: hello kitty 获取更多相关健康问题";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

echo$resultStr;

break;

case'3':

$contentStr="请发送定位信息给我";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

echo$resultStr;

break;

case'5':

$contentStr="发送你的靓照给我,立刻给你算算鸿运,道破吉凶";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

echo$resultStr;

break;

case"6";

$textTpl="

%s

1

<![CDATA[易企秀]]>

1

";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time);

echo$resultStr;

break;

case'7':

$textTpl="

%s

1

<![CDATA[新年贺卡]]>

1

";

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time);

echo$resultStr;

break;

default:

$contentStr=<<< MESG

欢迎访问百年臻阳方,本公众号由广东泓然堂医药有限公司提供,为您的健康提供全方位保障,点击关注有惊喜.

1  歌曲 张碧晨-年轮

2  咨询健康问题

3  发送定位寻找附件的酒店 指导您来到本店

5  发送相片给我,半仙帮你看相

6  易企秀

7  贺卡制作

MESG;

$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

echo$resultStr;

break;

}

//                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

//                echo $resultStr;

}else{

echo"Input something...";

}

}else{

echo"";

exit;

}

}

//  微信验证

private functioncheckSignature()

{

$signature=$_GET["signature"];

$timestamp=$_GET["timestamp"];

$nonce=$_GET["nonce"];

$token=TOKEN;

$tmpArr=array($token,$timestamp,$nonce);

sort($tmpArr);

$tmpStr=implode($tmpArr);

$tmpStr=sha1($tmpStr);

if($tmpStr==$signature){

return true;

}else{

return false;

}

}

public functionsql_test(){

$sql_articles=new\Model\ArticlesModel();

$articles=$sql_articles->select();

foreach($articlesas$article){

echo$article['title'];

}

$this->assign('articles',$articles);

//  var_dump($articles);

$this->display('index');

}

public functionuser_sql(){

$sql_user=new\Model\UserModel();

$select_user=$sql_user->select();

var_dump($select_user);

$this->display('index');

}

}

还有解决不了的欢迎留言,也可以访问我的微博,知无不言,菜鸟一枚,感谢观看    http://weibo.com/rosekissyou

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 上面测试了数据库的显示数据, 这里开始做数据库的修改,首先还是测试能不能添加数据库 接下来访问该方法添加数据到数据...
    rosekissyou阅读 1,038评论 0 0
  • 这里使用到了thinkPHP,如果对这个不太了解的同学,建议先去看一下相关文档http://document.th...
    rosekissyou阅读 881评论 0 1
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,702评论 0 11
  • 《军训时》 看夜如昼,街灯秀,对镜无言似清瘦,皱了眉头,黑了脸球。 听音难留,歌声透...
    惊涛的诗阅读 217评论 0 1
  • 周三,晨读,所以起得有点早。 天气预报不准确也不是一天半天的了,这七点来钟的时刻,微冷。下面的学生在大声的读着书,...
    林雅阅读 677评论 0 0