php - 安卓 php mysql 错误

标签 php android mysql

我是一名 PHP 开发人员。

现在我正在学习android。

我想连接 php 和 android。

我尝试了互联网上的许多示例代码。

所有人都遇到同样的问题。

“不幸的是 MainActivity 已停止”这就是问题所在。

举个例子:当我提交登录表单时出现错误消息。

一切正常,但无法连接到 php。

我要疯了!

WAMP服务器需要任何额外设置吗?

如果你有时间,请教我在 Eclipse 中一步步编写 Android 代码。 (就像文件->新建->android应用程序项目........)那种教学水平。

请教我一个简单的 android php mysql 登录页面。

下面添加了一个示例代码,请告诉我问题:

 package com.example.listactivity;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;

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.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ListActivity;
import android.net.ParseException;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class MainActivity extends ListActivity {
private List nameValuePairs;
private JSONArray jArray;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    String result = null;
    InputStream is = null;
    StringBuilder sb=null;


    //http post
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://localhost/food/food.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        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 fd_id;
    String fd_name;
    try{
    jArray = new JSONArray(result);
    JSONObject json_data=null;

    for(int i=0;i<jArray.length();i++){
            json_data = jArray.getJSONObject(i);
            fd_id=json_data.getInt("FOOD_ID");
            fd_name=json_data.getString("FOOD_NAME");
    }

    }catch(JSONException e1){
        Toast.makeText(getBaseContext(), "No Food Found", Toast.LENGTH_LONG).show();
    }catch (ParseException e1){
        e1.printStackTrace();
    }
}
}

PHP 代码:

<?php
  mysql_connect("localhost","root","");
  mysql_select_db("FOOD");
  $sql=mysql_query("select * from FOOD");
  while($row=mysql_fetch_assoc($sql)) $output[]=$row;
  print(json_encode($output));
  mysql_close();
?>

寻求您的帮助。

最佳答案

您需要使用 10.0.2.2 来引用 php localhost 。

看看这个API --> API

这是您的源代码,基本上需要的 claenup 和主要问题是 NetworkONMainThread

Source Code

关于php - 安卓 php mysql 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25159129/

相关文章:

mysql - 'blackhole' 表是邪恶的吗?

python - SQLAlchemy - 如何使用连接选择 x.id IS NOT NULL AS?

php - Laravel:将我的所有代码放入数据库事务中是一种好习惯吗?甚至没有数据库查询代码?

php - 在 Zend 中重写 session ID 的东西

php - 如何将两个MySQL连接合并为一个MySQL连接?

php - Laravel 使用自定义命名空间扩展 Illuminate\Foundation\Testing\TestCase

java - 如何将数据从类发送到 Android 中的 Activity

mysql - 更新,但在重复键时删除

java - 在 Java 中订购一个新的 Gson().toJson()

android - 右下角的 float 操作按钮