Nie można pobrać danych z tabeli MySQL, która odpowiada konkretnemu „uid”

Próbuję dowiedzieć się więcej o MySQL i używać Java (na Androida), aby uzyskać dostęp do informacji z bazy danych na moim serwerze WAMS. Moja aplikacja jest skonfigurowana tak, że ma początkowy ekran logowania, który również przechwytuje „uid” nazwy użytkownika, która się loguje (z innej tabeli) i zapisuje ją.

Po zalogowaniu (co jest funkcjonalne - ustawiłem powiadomienie toastowe, które wyświetla pobraną nazwę użytkownika i użytkownika zalogowanego użytkownika), przechodzi do nowego ekranu (dashboard.xml), który ma konfigurację pola TextView, aby wyświetlić pobrane dane (z tabela zamieszczona poniżej) związana z przechowywanym „uid”. Oto tabela, z której próbuję pobrać dane:

http://db.tt/4izVQuGB

Teraz skonfigurowałem plik PHP, który sprawdza moją db dla wierszy powiązanych z konkretnym „uid”. Przetestowałem ten plik za pomocą formularza HTML.

$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("connection error");
mysql_select_db($dbdb)or die("database selection error");

//Retrieve the User ID
$uid = $_POST['uid'];

//Query
$query = mysql_query("SELECT * FROM node WHERE uid='$uid' AND type='goal'");

//store # of rows returned
$num_rows = mysql_num_rows($query);

if ($num_rows >= 1) {
    while($results=mysql_fetch_assoc($query)) {
        //Store the returned data into a variable
        $output = $results;

        //encode the returned data in JSON format
        echo json_encode($output);
    }
    mysql_close();
}

Wynik, który otrzymuję przez testowanie pliku PHP przy użyciu wartości uid równej 1, to:

{"nid": "1", "vid": "1", "type": "goal", "language": "", "title": "test", "uid": "1", "status „:„ 1 ”,„ stworzony ”:„ 1342894493 ”,„ zmieniony ”:„ 1342894493 ”,„ komentarz ”:„ 2 ”,„ promuj ”:„ 1 ”,„ umiarkowany ”:„ 0 ”,„ lepki ”: „1”, „tnid”: „0”, „tłumacz”: „0”}

{"nid": "2", "vid": "2", "type": "goal", "language": "", "title": "test2", "uid": "1", "status „:„ 1 ”,„ stworzony ”:„ 1342894529 ”,„ zmieniony ”:„ 1342894529 ”,„ komentarz ”:„ 2 ”,„ promuj ”:„ 1 ”,„ umiarkowany ”:„ 0 ”,„ lepki ”: „1”, „tnid”: „0”, „tłumacz”: „0”}

{"nid": "5", "vid": "5", "type": "goal", "language": "", "title": "run", "uid": "1", "status „:„ 1 ”,„ utworzony ”:„ 1343506987 ”,„ zmieniony ”:„ 1343506987 ”,„ komentarz ”:„ 2 ”,„ promuj ”:„ 1 ”,„ umiarkowany ”:„ 0 ”,„ lepki ”: „1”, „tnid”: „0”, „tłumacz”: „0”}

{"nid": "9", "vid": "9", "type": "goal", "language": "", "title": "run to the hills", "uid": "1" , „status”: „1”, „utworzony”: „1343604338”, „zmieniony”: „1343605100”, „komentarz”: „2”, „promuj”: „0”, „umiarkowany”: „0”, „ lepkie: „0”, „tnid”: „0”, „tłumacz”: „0”}

Teraz napisałem kod androida, który ustawia httppost i ma pobrać „tytuły” z mojej tabeli bazy danych. Wiem, że jest źle (oczywiście, ponieważ nie działa), ale jestem zdezorientowany, co robić dalej.

import java.io.BufferedReader;
import java.io.IOException;
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.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class Dashboard extends Activity implements OnClickListener {

    // variable declarations
    String uid = "1";

    // create textview to display retrieved data
    TextView display;

    HttpClient httpclient;
    HttpPost httppost;
    HttpResponse httpresponse;
    HttpEntity httpentity;

    ArrayList<NameValuePair> resultArray;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dashboard);
        display = (TextView) findViewById(R.id.test);

        // initialize HttpClient
        httpclient = new DefaultHttpClient();

        // initialize HttpPost
        httppost = new HttpPost("http://192.168.1.112/android/fetch.php");

        try {
        // Create new List
        List<NameValuePair> resultList = new ArrayList<NameValuePair>();
        resultList.add(new BasicNameValuePair("uid", uid));

        httppost.setEntity(new UrlEncodedFormEntity(resultList));

        httpresponse = httpclient.execute(httppost);

        httpentity = httpresponse.getEntity();

        InputStream instream = entity.getContent();

        try {
                            // store incoming stream in an array
            JSONArray jArray = new JSONArray(streamToString(instream));
            JSONObject jData = null;

            for (int i = 0; i < jArray.length(); i++) {
                jData = jArray.getJSONObject(i);
                String goals = jData.getString("title");
                display.setText(goals);
            }
        //} catch (JSONException e) {
            //Toast.makeText(this, "No entries found", Toast.LENGTH_LONG).show();
        } catch (Exception e) {
            Toast.makeText(this, e.toString(), Toast.LENGTH_LONG)
                    .show();
        }

    } catch (Exception e) {
        e.printStackTrace();
        Notifications error = new Notifications();
        error.userPassErrorDialog();
    }

}

private static String streamToString(InputStream is) {

    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}

public void onClick(View v) {
    // TODO Auto-generated method stub

}

}

Podczas testowania go w emulatorze systemu Android pojawia się następujący błąd:

http://db.tt/2vg9MqYh

Każda pomoc lub sugestie będą bardzo mile widziane.

questionAnswers(2)

yourAnswerToTheQuestion