Home  >  Article  >  Backend Development  >  Android connects to Baidu cloud database through php_PHP tutorial

Android connects to Baidu cloud database through php_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:14:541150browse

Android connects to Baidu Cloud Database through php


If you want to use php to operate Baidu Cloud Database, you must first connect to Baidu Cloud through a php file. The name of the php file connecting to the cloud database is conn, and the content is as follows:

<?php
//echo "这是php数据库访问层!";
$dbhost = "sqld.duapp.com:4050"; 
$dbuser = ""; //我的用户名 
$dbpass = ""; //我的密码 
$dbname = ""; //我的mysql库名 
$cn = mysql_connect($dbhost,$dbuser,$dbpass) or die("connect 

error");
@mysql_select_db($dbname)or die("db error");
mysql_query("set names &#39;UTF8&#39;");
mysql_query("set character_set_client=utf8");  
mysql_query("set character_set_results=utf8");
?>

User login:

php file, in which the User table is created in Baidu Cloud Database.

<?php
include ("conn.php");
$id=str_replace(" ","",$_POST[&#39;id&#39;]);//id为登录账号
$pwd=str_replace(" ","",$_POST[&#39;pwd&#39;]);//pwe为登录密码
$sql="select * from User where Uid=&#39;$id&#39; and pwd=&#39;$pwd&#39;";
$query=mysql_query($sql);
$rs = mysql_fetch_array($query);

if(is_array($rs)){
	echo &#39;OK&#39;;
}else echo &#39;illegal user&#39;;

?>

The account and password need to be passed in to the Android program, and the account and password must be consistent with those in php, which are both id and pwd.
ArrayList<BasicNameValuePair> list=new ArrayList<BasicNameValuePair>();
		list.add(new BasicNameValuePair("id", et_accounts.getText().toString()));
		list.add(new BasicNameValuePair("pwd", et_password.getText().toString()));
		String flag=CloudConnection.gotoLogin(loginuri, list);

If the login is successful, the value of the flag is 'OK', otherwise the flag is 'illegal user'.



Multiple queries, such as finding all Weibo posts in the table from the cloud database, the fields of the table are:

Mbid: Weibo id

Mbuid: the user ID that posted this Weibo

Mbcontent: Weibo content

Mbtime: Time of posting Weibo

Mbnumzan: Number of likes on this Weibo

Mbnumping: Number of comments on this Weibo
picName: The name of the published picture

Then the php file is:

<?php
include ("conn.php");//连接数据库
$sql="SELECT * FROM  Microblog,User where Microblog.Mbuid=User.Uid";
$rs=mysql_query($sql);

$user = array();
while($row = mysql_fetch_array($rs))
{
	$Mbid = $row[&#39;Mbid&#39;];
	$Mbuid = $row[&#39;Mbuid&#39;];
	$Mbcontent = $row[&#39;Mbcontent&#39;];
	$Mbtime=$row[&#39;Mbtime&#39;];
	$Mbnumzan = $row[&#39;Mbnumzan&#39;];
	$Mbnumping = $row[&#39;Mbnumping&#39;];
	$nickname = $row[&#39;nickname&#39;];
	$iName = $row[&#39;iName&#39;];
	$picName = $row[&#39;picName&#39;];
	$ary = array(
            		Mbid => $Mbid ,
			Mbuid => $Mbuid,
			Mbcontent =>$Mbcontent,
			Mbtime => $Mbtime,
			Mbnumzan => $Mbnumzan,
			Mbnumping => $Mbnumping,
			nickname=> $nickname,
			iName=>$iName,
			picName=>$picName
	);
	array_push($user,$ary);
}

$users[&#39;Microblog&#39;]=$user;
echo json_encode($users);
?>

Because php returns an object array, the data obtained from the cloud database in php needs to be parsed, and the parsed data is stored in the list.

public class Microblog_DB {

	String sendUri="https://oursvn.duapp.com/query_microblog.php";//sendUri为你php文件的路径
	public List<Map<String, Object>> getData() {
		List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
		StringBuilder builder = new StringBuilder();
		HttpPost httpRequest = new HttpPost(sendUri);

		try{
			HttpResponse httpResponse=new DefaultHttpClient().execute(httpRequest);//发出HTTP请求,<span style="font-family: Arial, Helvetica, sans-serif;">取得HTTP response</span>

<span style="white-space:pre">		</span> &#160; &#160;<span style="white-space:pre">	</span>//若状态码为200则请求成功,取到返回数据
			BufferedReader reader = new BufferedReader(new InputStreamReader(
					httpResponse.getEntity().getContent()));

			for (String s = reader.readLine(); s != null; s = reader.readLine()) {
				builder.append(s);
			}
			String jsonString = builder.toString();
			jsonString = jsonString.substring(jsonString.indexOf("{"),jsonString.lastIndexOf("}")+1);
			JSONObject jsonObject = new JSONObject(jsonString);
			JSONArray jsonArray = jsonObject.getJSONArray("Microblog");//Microblog要去php中<span style="font-family: Arial, Helvetica, sans-serif;">$users[&#39;Microblog&#39;]=$user的Microblog名称一致</span>


			for(int i=0;i<jsonArray.length();i++){

				JSONObject jsonObject1 =(JSONObject) jsonArray.get(i);
				int Mbid= jsonObject1.getInt("Mbid");
				String Mbuid= jsonObject1.getString("Mbuid");
				String Mbcontent= jsonObject1.getString("Mbcontent");
				String Mbtime= jsonObject1.getString("Mbtime").toString().substring(5, 16);
				String Mbnumzan= jsonObject1.getString("Mbnumzan");
				String Mbnumping= jsonObject1.getString("Mbnumping");
				String nickname=jsonObject1.getString("nickname");
				String iName=jsonObject1.getString("iName");//头像名称
				String picName=jsonObject1.getString("picName");//图片名称
				Map<String, Object>map = new HashMap<String, Object>();
				map.put("zan",R.drawable.zan);
				map.put("ping",R.drawable.ping);
				map.put("head",R.drawable.tou12 );
				map.put("nickname", nickname);
				map.put("content", Mbcontent);
				map.put("sendtime", Mbtime);
				map.put("zannum", Mbnumzan);
				map.put("pingnum", Mbnumping);
				map.put("mbid", String.valueOf(Mbid));
				list.add(map);
			}

		}catch(Exception e){
			e.printStackTrace();
		}
		return list;
	}
}


If it is one query instead of multiple queries, you can also use multiple queries to implement it, but it only loops once during the for loop.


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/907368.htmlTechArticleAndroid connects to Baidu cloud database through php. If you want to use php to operate Baidu cloud database, you must first pass the php file Connect to Baidu Cloud. The name of the php file connecting to the cloud database is conn, and the content...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn