我正在尝试为Android(在Eclipse中)编写登录系统,并且必须从外部MySQL-DB获取数据。
源代码:Connecting to MySQL Database
我试图从中获取数据的网站是here(我知道有一些安全问题,blabla,这不是我现在的问题^^)
我遇到的问题是当我尝试运行应用程序时,发现错误“找不到密码”。
此错误在本代码中出现:
ArrayList passwort = new ArrayList();
ArrayList benutzer = new ArrayList();
try{
jArray = new JSONArray(result);
JSONObject json_data=null;
for(int i=0;i
json_data = jArray.getJSONObject(i);
passwort.add(json_data.getString("pw"));
benutzer.add(json_data.getString("benutzer"));
}
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("arrayBenutzerExtra", benutzer);
intent.putExtra("arrayPasswortExtra", passwort);
startActivity(intent);
}
catch(JSONException e1){
Toast.makeText(getBaseContext(), "No Password found" ,Toast.LENGTH_LONG).show();
} catch (ParseException e1) {
e1.printStackTrace();
}另外,这里是我与网站连接的代码,但它似乎并不是问题,尽管我没有收到有关该错误的消息!
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://winklermarkus.at/appconnection.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());
}.php文件的代码在这里:
$sql_pw = "SELECT ". "Passwort ". "FROM ". "benutzerdaten ";
$result_pw = mysql_query ($sql_pw);
$data_pw = mysql_fetch_array ($result_pw);
$pw = $data_pw["Passwort"];
$sql_benutzer = "SELECT ". "Email ". "FROM ". "benutzerdaten ";
$result_benutzer = mysql_query ($sql_benutzer);
$data_benutzer = mysql_fetch_array ($result_benutzer);
$benutzer = $data_benutzer["Email"];
print(json_encode($pw));
print(json_encode($benutzer));
mysql_close();
?>正如Perception所述,我没有得到有效的JSON输出,这可能与我有关,试图一次传输2个字符串?