包含android通过php连接mysql的词条

如何连接android和php mysql数据库

1. 通过 MySQL在windows下的配置 中介绍第二种方法,在服务器机器上配置php和mysql环境,譬如我的服务器机器ip为:10.141.249.1362. 新建在test数据库下新建一个teacher表,表的内容如下:

成都创新互联专注于酉阳土家族苗族网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供酉阳土家族苗族营销型网站建设,酉阳土家族苗族网站制作、酉阳土家族苗族网页设计、酉阳土家族苗族网站官网定制、微信小程序服务,打造酉阳土家族苗族网络公司原创品牌,更为您提供酉阳土家族苗族网站排名全网营销落地服务。

3. 在服务器机器上的phpnow安装目录E:\PHPnow-1.5.5\htdocs下新建一个test.php文件,文件内容如下:

?php

$link=mysql_connect("127.0.0.1","root","123456");

mysql_query("SET NAMES utf8");

mysql_select_db("test",$link);

$sql=mysql_query("select * from teacher ",$link);

while($row=mysql_fetch_assoc($sql))

$output[]=$row;

print(json_encode($output));

mysql_close();

?

4. 新建一个Android Java Project

需要修改的是一下三个文件:AndroidTestActivity.java、main.xml、AndroidManifest.xml

//AndroidTestActivity.java

package

com.knight.android.test;//根据实际的工程需要,修改包的名称

import

java.io.BufferedReader;

import

java.io.InputStream;

import

java.io.InputStreamReader;

import

java.util.ArrayList;

import

org.apache.http.HttpEntity;

import

org.apache.http.HttpResponse;

import

org.apache.http.NameValuePair;

import

org.apache.http.client.HttpClient;

import

org.apache.http.client.methods.HttpGet;

import

org.apache.http.impl.client.DefaultHttpClient;

import

org.json.JSONArray;

import

org.json.JSONException;

import

org.json.JSONObject;

import

android.app.Activity;

import

android.net.ParseException;

import

android.os.Bundle;

import

android.util.Log;

import

android.view.View;

import

android.widget.Button;

import

android.widget.EditText;

public

class

AndroidTestActivity

extends

Activity {

JSONArray jArray;

String result

= null;

InputStream is

= null;

StringBuilder sb

= null;

@Override

public

void

onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button b1 = (Button) findViewById(R.id.button1);

b1.setOnClickListener(new

Button.OnClickListener()

{

@Override

public

void

onClick(View v)

{

//

TODO

Auto-generated

method stub

EditText tv = (EditText) findViewById(R.id.editView);

ArrayListNameValuePair nameValuePairs = newArrayListNameValuePair();

//

http get

try

{

HttpClient httpclient = new

DefaultHttpClient();

HttpGet httpget = new

HttpGet(

"");

HttpResponse response = httpclient.execute(httpget);

HttpEntity entity = response.getEntity();

is

=

entity.getContent();

} catch

(Exception e)

{

Log.e("log_tag", "Error

in http connection" + e.toString());

}

//

convert response to string

try

{

BufferedReader reader = new

BufferedReader(

new

InputStreamReader(is, "iso-8859-1"), 8);

sb

= new

StringBuilder();

sb.append(reader.readLine()

+ "\n");

String line = "0";

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());

}

//

paring data

int

ct_id;

String ct_name;

try

{

jArray

= new

JSONArray(result);

JSONObject json_data = null;

for

(int

i = 0; i

jArray.length(); i++) {

json_data = jArray.getJSONObject(i);

ct_id = json_data.getInt("id");

ct_name = json_data.getString("name");

tv.append(ct_name + "

\n");

}

} catch

(JSONException e1)

{

//

Toast.makeText(getBaseContext(), "No City Found"

//

,Toast.LENGTH_LONG).show();

} catch

(ParseException e1)

{

e1.printStackTrace();

}

}

});

}

}

layout/main.xml

?xml version="1.0" encoding="utf-8"?

LinearLayout

xmlns:android=""

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

Button

  android:id="@+id/button1"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:text="click" /

EditText

  android:id="@+id/editView"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:text="HI "

  android:textSize="30dip" /

/LinearLayout

AndroidManifest.xml

?xml version="1.0" encoding="utf-8"?

manifest

xmlns:android=""

package="com.knight.android.test"

android:versionCode="1"

android:versionName="1.0"

application

  android:icon="@drawable/ic_launcher"

  android:label="@string/app_name"

  activity

     

android:name=".AndroidTestActivity"

      android:label="@string/app_name"

      intent-filter

          action

android:name="android.intent.action.MAIN" /

          category

android:name="android.intent.category.LAUNCHER" /

      /intent-filter

  /activity

/application

!-- 授权访问网络 --

uses-permission android:name="android.permission.INTERNET"/

/manifest

5. 运行结果如下图:

点击click以后,Android会向服务器发送一个Http

Get请求,服务器从mysql中读取数据后,传送给Android客户端,客户端编码数据包,然后返回如下结果

注意:

(1)AndroidManifest.xml中不能出现uses-sdk android:minSdkVersion="15"

/这种属性,否则Android客户端无法连接到远程服务器

(2)如果在本机搭建mysql和php环境,以上程序(AndroidTestActivity.java)中红色部分应更改为:HttpGet httpget = new

HttpGet();127.0.0.1表示手机的本机ip,因为程序最终是在手机上跑的

(3)如果读者自定义的工程,需要修改一下几个地方:

第一个是 AndroidTestActivity.java

程序里面的package名称package

com.knight.android.test;这个根据读者自己定义的包要做出相应的修改(绿色部分)

第二个是修改 AndroidManifest.xml里面第三行的package=" com.knight.android.test",要保持绿色部分和第一条中的绿色部分相对应

第三点是修改AndroidManifest.xml里面activity下面的 android:name=". AndroidTestActivity",将绿色部分修改为 AndroidTestActivity.java的红色部分(也就是类名)

(4)在MySQL中把编码设置成utf8_unicode_ci,在浏览器中输入:localhost/test.php,如果中文出现乱码,可以把输出的内容复制到,如果在这里能显示正常,则说明实际上是的对的,因为浏览器输出的是json编码

android studio关于android可以链接使用PHP的数据库MySQL的方法,急!!!

Android

Studio怎么连接mysql数据库,建议使用mysql的客户端查连接,或者使用java程序去连接,mysql安装后就会自动一个客户端,这个就可以连接数据库的。

android

studio是开发android应用的,写不了jsp,如果你要写java

web

jsp这种,建议使用IDEA或者用eclipse

IDE(开发工具)。

如何将Android连接PHP的MySQL

客户端一般不会直接连接服务器的数据库,这样子服务器太不安全了。通常是用服务器端语言(PHP)写出与数据库(MySQL)交互的接口,然后客户端(Android)通过接口进行数据的读写。

怎么连接android和php mysql数据库

我们先来看一个简单的Android app例子(这里是一个商品存货清单项目),在Android程序中,我们可以访问(call)PHP脚本来执行简单的CRUD操作(创建,读取,更新,删除)。为了使你对它的体系结构有一个大概的了解,这里先说一下它是怎么工作的。首先你的Android项目访问(call)PHP脚本来执行一条数据操作,我们称它为“创建”。然后PHP脚本连接MySQL数据库来执行这个操作。这样,数据从Android程序流向PHP脚本,最终存储在MySQL数据库中。

好了,让我们来深入的看一下。

请注意:这里提供的代码只是为了使你能简单的连接Android项目和PHP,MySQL。你不能把它作为一个标准或者安全编程实践。在生产环境中,理想情况下你需要避免使用任何可能造成潜在注入漏洞的代码(比如MYSQL注入)。MYSQL注入是一个很大的话题,不可能用单独的一篇文章来说清楚,并且它也不在本文讨论的范围内,所以本文不以讨论。

1. 什么是WAMP Server

WAMP是Windows,Apache,MySQL和PHP,Perl,Python的简称。WAMP是一个一键安装的软件,它为开发PHP,MySQL Web应用程序提供一个环境。安装这款软件你相当于安装了Apache,MySQL和PHP。或者,你也可以使用 XAMP 。

2. 安装和使用WAMP Server

在浏览器中输入 来测试你的服务器是否安装成功。同样的,也可以打开 来检验phpmyadmin是否安装成功。

3. 创建和运行PHP项目

现在,你已经有一个能开发PHP和MYSQL项目的环境了。打开安装WAMP Server的文件夹(在我的电脑中,是C:\wamp\),打开www文件夹,为你的项目创建一个新的文件夹。你必须把项目中所有的文件放到这个文件夹中。

新建一个名为android_connect的文件夹,并新建一个php文件,命名为test.php,尝试输入一些简单的php代码(如下所示)。输入下面的代码后,打开 ,你会在浏览器中看到“Welcome,I am connecting Android to PHP,MySQL”(如果没有正确输入,请检查WAMP配置是否正确)

test.php

?php

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

?

4. 创建MySQL数据库和表

在本教程中,我创建了一个简单的只有一张表的数据库。我会用这个表来执行一些示例操作。现在,请在浏览器中输入 ,并打开 phpmyadmin。 你可以用PhpMyAdmin工具创建数据库和表。

创建数据库和表:数据库名: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数据库

现在,真正的服务器端编程开始了。新建一个PHP类来连接MYSQL数据库。这个类的主要功能是打开数据库连接和在不需要时关闭数据库连接。

新建两个文件 db_config.php,db_connect.php

db_config.php-------- 存储数据库连接变量

db_connect.php------- 连接数据库的类文件

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();

}

}

?

怎么调用 :当你想连接MySQl数据库或者执行某些操作时,可以这样使用db_connect.php

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

6. 使用PHP执行基本CRUD操作

在这部分,我将讲述使用PHP对MySQL数据库执行基本CRUD(创建,读取,更新,删除)操作。

如果你是PHP和MySQL新手,我建议你可以先学习 PHP 和 SQL 基础知识。

6. a)在MYSQL中新建一行(创建一行新的产品)

在你的PHP项目中新建一个php文件,命名为create_product.php,并输入以下代码。该文件主要实现在products表中插入一个新的产品。

在下面的代码我使用POST来读取产品数据并把他们存储在products表中。

最后我会输出一些JSON返回值,以便返回给客户端(Android项目)


本文标题:包含android通过php连接mysql的词条
分享链接:http://azwzsj.com/article/dsephed.html