我嘗試寫一個簡單的php文件,它檢查一個mysql值是否存在。php - 解析單個值到android
爲此,我需要解析從json到android的簡單字符串。
例如:當值存在時,字符串是「是」,當它不存在時,字符串是「否」。
同時,我嘗試了很多「解決方案」,但沒有任何工作。
要做到這一點,我通常用這個:
$abfrage = "
SELECT
Something
FROM
somewhere
WHERE
This=$that"
;
$link = mysql_query($abfrage) OR die("Error:"+mysql_error());
while($line = mysql_fetch_assoc($link)){
$new=$line;
}
print(json_encode($new));
,並在安卓
try
{
BufferedReader reader = new BufferedReader
(new InputStreamReader(is,"utf-8"),8);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
result = sb.toString();
Log.e("pass 2", "connection success ");
}
catch(Exception e)
{
Log.e("Fail 2", e.toString());
}
try
{
System.out.println(result);
json_data = new JSONObject(result);
String name=(json_data.getString("something"));
Log.e("pass 3", "connection success ");
}
catch(Exception e)
{
Log.e("result:", result.toString());
}
}
這種運作良好,字符串「名」的該值是「東西的價值」。
但現在我的問題:
是否有可能挽救一個字符串在PHP和解析它們到Android?
這是我得到:
$abfrage = "SELECT Something FROM somewhere WHERE This = '$that' LIMIT 1";
// Proof whether the value exists or not
$read = mysql_db_query($db, $abfrage);
if (mysql_num_rows($read) == 0){
$value="no";
}
else{
$value="yes";
};
print json_encode($value);
而在JAVA:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://localhost/test.php");
HttpResponse response = httpclient.execute(httppost);
String str = EntityUtils.toString(response.getEntity());
System.out.println(""+str); //prints: yes
if(str=="yes") System.out.println("ok"); //not called
if(str=="no") System.out.println("nope"); //not called
yeeeesssssss ..謝謝你! – 2014-09-04 12:24:01
這是奇怪的事情!所以我猜有些東西是在發送值的時候添加的,我認爲一定要有辦法處理它,而不是手動刪除符號 – 2014-09-04 12:27:45
這是我知道,處理它的唯一方法,但總的來說應該有一個更簡單的方法。 – 2014-09-04 12:30:47