1
나는 원격 데이터베이스에서 일부 데이터를 가져 오는 응용 프로그램이 있습니다. 다음 코드로 PHP를 사용하여 데이터베이스에 연결합니다.안드로이드 MySQL의 PHP 문제
mysql_connect($host,$username,$password) or die("no connection");
@mysql_select_db($database) or die("Unable to select database");
$query = $_REQUEST['query'];
$q=mysql_query($query);
while($e=mysql_fetch_assoc($q)) {
$output[]=$e;
}
print(json_encode($output));
mysql_close();
그때 자바 코드를 다음을 통해 연결
난이 에뮬레이터와 함께 잘 작동하지만 내가 문제 때이public void query(String query){
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("query", query));
connect(nameValuePairs);
}
를 통해 쿼리를 만드는 것이했을
public void connect(ArrayList<NameValuePair> nameValuePairs) {
result = "";
InputStream is = null;
String url = "http://'ipadress'/PhpProject1/EmptyPHP.php";
//Get the content
try {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (Exception e) {
Log.e("Connect", "Error in http connection " + e.toString());
}
//Convert content toString
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, HTTP.UTF_8), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
//result = replaceString(sb.toString());
} catch (Exception e) {
Log.e("Connect", "Error converting result " + e.toString());
}
}
전화로 그것을 사용합니다.
누구나 이것이 이유가 무엇입니까?
는 실제로 서버에 액세스 할 수 있도록 개인 네트워크에 실제 장치를 연결해야합니다 사전
발생한 문제를 설명해주십시오. –
어떤 예외가 있습니까? – Pentium10
예외가 없습니다. 에뮬레이터를 사용할 때 쿼리가 곧바로 진행되지만 전화를 사용할 때 검정색 표시가 나타납니다. 그것을 테스트하기 나는 setText (queryResult)를 사용하는 TextView 만 있지만 아무 것도 전화기에 표시되지 않습니다. – Bastaix