• 微信公众号开发第二课 百度BAE搭建和数据库使用


    上一节主要是一些准备知识,本课还是准备知识,开发微信也可以不使用数据库,但是要想搭建一些查询类应用,就可能使用到数据库操作,所以本节主要涉及到百度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://files.cnblogs.com/logoove/bae_mysqli.zip

    外篇

    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
    ?>
    
  • 相关阅读:
    函数和函数模版在一个。cpp中的情况!(除了左移和右移,其他的不要用友元函数!!!)
    const typedef 和指针的问题(这里必须初始化的才初始化了,不必须的则没有初始化)
    const constptr 和引用的盲点(未解决)
    对于数据流建模和行为级建模的梳理(重点)
    vivado实现模16的计数器
    用vivado实现4比特加法器
    三输入或门(发现这个玩意很不好耍,编程出现错误,不知道哪里出现的,一不小心2输成3也无法查证)
    SpringMVC第一个例子
    Mybatis与Spring的mapper代理整合方法
    Mybatis与Spring的原生Dao整合
  • 原文地址:https://www.cnblogs.com/logoove/p/3394851.html
Copyright © 2020-2023  润新知