真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php安卓鏈接數(shù)據(jù)庫 php連接數(shù)據(jù)庫教程

怎么連接android和php mysql數(shù)據(jù)庫

我們先來看一個(gè)簡(jiǎn)單的Android app例子(這里是一個(gè)商品存貨清單項(xiàng)目),在Android程序中,我們可以訪問(call)PHP腳本來執(zhí)行簡(jiǎn)單的CRUD操作(創(chuàng)建,讀取,更新,刪除)。為了使你對(duì)它的體系結(jié)構(gòu)有一個(gè)大概的了解,這里先說一下它是怎么工作的。首先你的Android項(xiàng)目訪問(call)PHP腳本來執(zhí)行一條數(shù)據(jù)操作,我們稱它為“創(chuàng)建”。然后PHP腳本連接MySQL數(shù)據(jù)庫來執(zhí)行這個(gè)操作。這樣,數(shù)據(jù)從Android程序流向PHP腳本,最終存儲(chǔ)在MySQL數(shù)據(jù)庫中。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的新北網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

好了,讓我們來深入的看一下。

請(qǐng)注意:這里提供的代碼只是為了使你能簡(jiǎn)單的連接Android項(xiàng)目和PHP,MySQL。你不能把它作為一個(gè)標(biāo)準(zhǔn)或者安全編程實(shí)踐。在生產(chǎn)環(huán)境中,理想情況下你需要避免使用任何可能造成潛在注入漏洞的代碼(比如MYSQL注入)。MYSQL注入是一個(gè)很大的話題,不可能用單獨(dú)的一篇文章來說清楚,并且它也不在本文討論的范圍內(nèi),所以本文不以討論。

1. 什么是WAMP Server

WAMP是Windows,Apache,MySQL和PHP,Perl,Python的簡(jiǎn)稱。WAMP是一個(gè)一鍵安裝的軟件,它為開發(fā)PHP,MySQL Web應(yīng)用程序提供一個(gè)環(huán)境。安裝這款軟件你相當(dāng)于安裝了Apache,MySQL和PHP。或者,你也可以使用 XAMP 。

2. 安裝和使用WAMP Server

在瀏覽器中輸入 來測(cè)試你的服務(wù)器是否安裝成功。同樣的,也可以打開 來檢驗(yàn)phpmyadmin是否安裝成功。

3. 創(chuàng)建和運(yùn)行PHP項(xiàng)目

現(xiàn)在,你已經(jīng)有一個(gè)能開發(fā)PHP和MYSQL項(xiàng)目的環(huán)境了。打開安裝WAMP Server的文件夾(在我的電腦中,是C:\wamp\),打開www文件夾,為你的項(xiàng)目創(chuàng)建一個(gè)新的文件夾。你必須把項(xiàng)目中所有的文件放到這個(gè)文件夾中。

新建一個(gè)名為android_connect的文件夾,并新建一個(gè)php文件,命名為test.php,嘗試輸入一些簡(jiǎn)單的php代碼(如下所示)。輸入下面的代碼后,打開 ,你會(huì)在瀏覽器中看到“Welcome,I am connecting Android to PHP,MySQL”(如果沒有正確輸入,請(qǐng)檢查WAMP配置是否正確)

test.php

?php

echo"Welcome, I am connecting Android to PHP, MySQL";

?

4. 創(chuàng)建MySQL數(shù)據(jù)庫和表

在本教程中,我創(chuàng)建了一個(gè)簡(jiǎn)單的只有一張表的數(shù)據(jù)庫。我會(huì)用這個(gè)表來執(zhí)行一些示例操作?,F(xiàn)在,請(qǐng)?jiān)跒g覽器中輸入 ,并打開 phpmyadmin。 你可以用PhpMyAdmin工具創(chuàng)建數(shù)據(jù)庫和表。

創(chuàng)建數(shù)據(jù)庫和表:數(shù)據(jù)庫名:androidhive,表:product

CREATE DATABASE androidhive;

CREATE TABLE products(

pid int(11) primary key auto_increment,

name varchar(100) not null,

price decimal(10,2) not null,

description text,

created_at timestamp defaultnow(),

updated_at timestamp

);

5. 用PHP連接MySQL數(shù)據(jù)庫

現(xiàn)在,真正的服務(wù)器端編程開始了。新建一個(gè)PHP類來連接MYSQL數(shù)據(jù)庫。這個(gè)類的主要功能是打開數(shù)據(jù)庫連接和在不需要時(shí)關(guān)閉數(shù)據(jù)庫連接。

新建兩個(gè)文件 db_config.php,db_connect.php

db_config.php-------- 存儲(chǔ)數(shù)據(jù)庫連接變量

db_connect.php------- 連接數(shù)據(jù)庫的類文件

db_config.php

?php

/*

* All database connection variables

*/

define('DB_USER', "root"); // db user

define('DB_PASSWORD', ""); // db password (mention your db password here)

define('DB_DATABASE', "androidhive"); // database name

define('DB_SERVER', "localhost"); // db server

db_connect.php

?php

/**

* A class file to connect to database

*/

classDB_CONNECT {

// constructor

function__construct() {

// connecting to database

$this-connect();

}

// destructor

function__destruct() {

// closing db connection

$this-close();

}

/**

* Function to connect with database

*/

functionconnect() {

// import database connection variables

require_once__DIR__ . '/db_config.php';

// Connecting to mysql database

$con= mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) ordie(mysql_error());

// Selecing database

$db= mysql_select_db(DB_DATABASE) ordie(mysql_error()) ordie(mysql_error());

// returing connection cursor

return$con;

}

/**

* Function to close db connection

*/

functionclose() {

// closing db connection

mysql_close();

}

}

?

怎么調(diào)用 :當(dāng)你想連接MySQl數(shù)據(jù)庫或者執(zhí)行某些操作時(shí),可以這樣使用db_connect.php

$db= newDB_CONNECT(); // creating class object(will open database connection)

6. 使用PHP執(zhí)行基本CRUD操作

在這部分,我將講述使用PHP對(duì)MySQL數(shù)據(jù)庫執(zhí)行基本CRUD(創(chuàng)建,讀取,更新,刪除)操作。

如果你是PHP和MySQL新手,我建議你可以先學(xué)習(xí) PHP 和 SQL 基礎(chǔ)知識(shí)。

6. a)在MYSQL中新建一行(創(chuàng)建一行新的產(chǎn)品)

在你的PHP項(xiàng)目中新建一個(gè)php文件,命名為create_product.php,并輸入以下代碼。該文件主要實(shí)現(xiàn)在products表中插入一個(gè)新的產(chǎn)品。

在下面的代碼我使用POST來讀取產(chǎn)品數(shù)據(jù)并把他們存儲(chǔ)在products表中。

最后我會(huì)輸出一些JSON返回值,以便返回給客戶端(Android項(xiàng)目)

如何連接android和php mysql數(shù)據(jù)庫

參考下面代碼及代碼中的注釋即可: PHP代碼:conn.php是連接MySQL數(shù)據(jù)庫的。代碼如下: ?php $dbhost = "localhost:3306"; $dbuser = "root"; //我的用戶名 $dbpass = ""; //我的密碼 $dbname = "testlogin"; //我的mysql庫名 $cn = mysql_connect($dbhost,$dbuser,$dbpass) or die("connect error"); @mysql_select_db($dbname)or die("db error"); mysql_query("set names 'UTF-8'"); ? login.php代碼: ?php include ("conn.php");//連接數(shù)據(jù)庫 $username=str_replace(" ","",$_POST['name']);//接收客戶端發(fā)來的username; $sql="select * from users where name='$username'"; $query=mysql_query($sql); $rs = mysql_fetch_array($query); if(is_array($rs)){ if($_POST['pwd']==$rs['password']){ echo "login succeed"; }else{ echo "error"; } } ?class LoginHandler implements Runnable { @Override public void run() { // TODO Auto-generated method stub //get username and password; userName = user_name.getText().toString().trim(); password = pass_word.getText().toString().trim(); //連接到服務(wù)器的地址,我監(jiān)聽的是8080端口 String connectURL="網(wǎng)站地址/text0/com.light.text/login.php/"; //填入用戶名密碼和連接地址 boolean isLoginSucceed = gotoLogin(userName, password,connectURL); //判斷返回值是否為true,若是的話就跳到主頁。 if(isLoginSucceed){ Intent intent = new Intent(); intent.setClass(getApplicationContext(), HomeActivity.class); startActivity(intent); proDialog.dismiss(); }else{ proDialog.dismiss(); // Toast.makeText(ClientActivity.this, "登入錯(cuò)誤", Toast.LENGTH_LONG).show(); System.out.println("登入錯(cuò)誤"); } } } //登入的方法,傳入用戶 密碼 和連接地址 private boolean gotoLogin(String userName, String password,String connectUrl) { String result = null; //用來取得返回的String; boolean isLoginSucceed = false; //test System.out.println("username:"+userName); System.out.println("password:"+password); //發(fā)送post請(qǐng)求 HttpPost httpRequest = new HttpPost(connectUrl); //Post運(yùn)作傳送變數(shù)必須用NameValuePair[]陣列儲(chǔ)存 List params = new ArrayList(); params.add(new BasicNameValuePair("name",userName)); params.add(new BasicNameValuePair("pwd",password)); try{ //發(fā)出HTTP請(qǐng)求 httpRequest.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8)); //取得HTTP response HttpResponse httpResponse=new DefaultHttpClient().execute(httpRequest); //若狀態(tài)碼為200則請(qǐng)求成功,取到返回?cái)?shù)據(jù) if(httpResponse.getStatusLine().getStatusCode()==200){ //取出字符串 result=EntityUtils.toString(httpResponse.getEntity()); ystem.out.println("result= "+result); } }catch(Exception e){ e.printStackTrace(); } //判斷返回的數(shù)據(jù)是否為php中成功登入是輸出的 if(result.equals("login succeed")){ isLoginSucceed = true; } return isLoginSucceed; }

如何使用JSON連接Android和PHP Mysql數(shù)據(jù)庫

Android客戶端直接連接遠(yuǎn)程MySQL數(shù)據(jù)庫的方法如下:String result = ""; //首先使用NameValuePair封裝將要查詢的年數(shù)和關(guān)鍵字綁定 ArrayListNameValuePair nameValuePairs = new ArrayListNameValuePair(); nameValuePairs/getAllPeopleBornAfter.php"); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); InputStream is = entity.getContent(); }catch(Exception e){ Log.e("log_tag", "Error in http connection "+e.toString()); } //將HttpEntity轉(zhuǎn)化為String try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close();result=sb.toString(); }catch(Exception e){ Log.e("log_tag", "Error converting result "+e.toString()); }//將String通過JSONArray解析成最終結(jié)果 try{ JSONArray jArray = new JSONArray(result); for(int i=0;ijArray.length();i++){ JSONObject json_data = jArray.getJSONObject(i); Log.i("log_tag","id: "+json_data.getInt("id")+ ", name: "+json_data.getString("name")+ ", sex: "+json_data.getInt("sex")+ ", birthyear: "+json_data.getInt("birthyear") ); } } }catch(JSONException e){ Log.e("log_tag", "Error parsing data "+e.toString()); }雖然Android開發(fā)中可以直接連接數(shù)據(jù)庫,但是實(shí)際中卻不建議這么做,應(yīng)該使用服務(wù)器端中轉(zhuǎn)下完成。


網(wǎng)站標(biāo)題:php安卓鏈接數(shù)據(jù)庫 php連接數(shù)據(jù)庫教程
本文鏈接:http://weahome.cn/article/dohosis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部