2

mysql データベースからデータを取得できません。私は、mysql db に接続し、php スクリプトを使用してデータをフェッチする Android アプリを作成しました....コードを実行すると、例外文字列がスローされ、jsonarray に変換できません....また、XAMP PHP スクリプトに私の php スクリプトを配置する場所を教えてください。

$con = mysql_connect("localhost","root","");
 if (!$con)
 {
   die('Could not connect: ' . mysql_error());
 }
 mysql_select_db("login",$con);
 $sql=mysql_query("SELECT * FROM category ORDER BY `category`.`category` ASC");
 while($row=mysql_fetch_assoc($sql))
 $output[]=$row;
  print(json_encode($output));
  mysql_close($con);

コード:-

tv=(TextView)findViewById(R.id.textView1);
    String result = null;
    InputStream is = null;
    StringBuilder sb = null;
    ArrayList nameValuePairs = new ArrayList();
    List r = new ArrayList();
    try{
    //http post
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://ip../xampp/htdocs/db.php");
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity entity = response.getEntity();
    is = entity.getContent();
    }
    catch(Exception e){
    Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
    }
    //Convert response to string
    try
    {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
    sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null)
    {
    sb.append(line +"\n");
    }
    is.close();
    result = sb.toString();
    }
    catch(Exception e)
    {
    Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
    }
    //END Convert response to string
    try{
    JSONArray jArray = new JSONArray(result);
    JSONObject json_data=null;
    for(int i=0;i<jArray.length();i++) {
    json_data = jArray.getJSONObject(i);
    tv.append(json_data.getString("category").toString()+"\n");
    }

    }
    catch(JSONException e1){
    Toast.makeText(getBaseContext(),e1.toString() ,Toast.LENGTH_LONG).show();
    } catch (ParseException e1) {
    Toast.makeText(getBaseContext(),e1.toString() ,Toast.LENGTH_LONG).show();
    }
4

1 に答える 1