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 'UTF8'"); 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['id']);//id为登录账号 $pwd=str_replace(" ","",$_POST['pwd']);//pwe为登录密码 $sql="select * from User where Uid='$id' and pwd='$pwd'"; $query=mysql_query($sql); $rs = mysql_fetch_array($query); if(is_array($rs)){ echo 'OK'; }else echo 'illegal user'; ?>
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['Mbid']; $Mbuid = $row['Mbuid']; $Mbcontent = $row['Mbcontent']; $Mbtime=$row['Mbtime']; $Mbnumzan = $row['Mbnumzan']; $Mbnumping = $row['Mbnumping']; $nickname = $row['nickname']; $iName = $row['iName']; $picName = $row['picName']; $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['Microblog']=$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>    <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['Microblog']=$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; } }