如何连接android和php mysql数据库

如何连接android和php mysql数据库,第1张

参考下面代码及代码中的注释即可:PHP代码: conn.php是连接MySQL数据库的。代码如下:<?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代码:<?phpinclude ("conn.php")//连接数据库$username=str_replace(" ","",$_POST['name'])//接收客户端发来的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 {@Overridepublic void run() {// TODO Auto-generated method stub//get username and passworduserName = user_name.getText().toString().trim()password = pass_word.getText().toString().trim()//连接到服务器的地址,我监听的是8080端口String connectURL="网站地址/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, "登入错误", Toast.LENGTH_LONG).show()System.out.println("登入错误")}}}//登入的方法,传入用户 密码 和连接地址private boolean gotoLogin(String userName, String password,String connectUrl) {String result = null//用来取得返回的String;boolean isLoginSucceed = false//testSystem.out.println("username:"+userName)System.out.println("password:"+password)//发送post请求HttpPost httpRequest = new HttpPost(connectUrl)//Post运作传送变数必须用NameValuePair[]阵列储存List params = new ArrayList()params.add(new BasicNameValuePair("name",userName))params.add(new BasicNameValuePair("pwd",password))try{//发出HTTP请求httpRequest.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8))//取得HTTP responseHttpResponse httpResponse=new DefaultHttpClient().execute(httpRequest)//若状态码为200则请求成功,取到返回数据if(httpResponse.getStatusLine().getStatusCode()==200){//取出字符串result=EntityUtils.toString(httpResponse.getEntity())ystem.out.println("result= "+result)}}catch(Exception e){e.printStackTrace()}//判断返回的数据是否为php中成功登入是输出的if(result.equals("login succeed")){isLoginSucceed = true}return isLoginSucceed}

我们先来看一个简单的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

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

3. 创建和运行PHP项目

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

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

test.php

<?php

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

?>

4. 创建MySQL数据库和表

在本教程中,我创建了一个简单的只有一张表的数据库。我会用这个表来执行一些示例 *** 作。现在,请在浏览器中输入 http://localhost/phpmyadmin/ ,并打开 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 Studio怎么连接mysql数据库,建议使用mysql的客户端查连接,或者使用java程序去连接,mysql安装后就会自动一个客户端,这个就可以连接数据库的。

android studio是开发android应用的,写不了jsp,如果你要写java web jsp这种,建议使用IDEA或者用eclipse IDE(开发工具)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6115736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存