0

Android から php にデータを送信しようとすると、logcat で次のような黄色の警告が表示されます。

SingleClientConnManager の無効な使用: 接続がまだ割り当てられています

と:

W/SingleClientConnManager(274): 別の接続を割り当てる前に、必ず接続を解放してください。

私のコードは次のようになります:

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("email", "")); 
    InputStream is=null;
    try {
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://zzzzz.com/zzz.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        httpclient.execute(httppost);
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        is=entity.getContent();

    } catch (IOException e) {
    }

そして、私の zzz.php には次のものがあります。

<?php

 $email = "aaa";

 if (session_id() == "")
 {
  session_start();
 }
 if (!isset($_SESSION['username']))
 {
   header('Location: ./index.php');
   exit;
 }
 else
 {

 $username = "******";
 $password = "****";
 $host = "****";
 $database = "****";

 $db = mysql_connect($host, $username, $password);
 if (!$db)
  {
  die('Failed to connect to database server!<br>'.mysql_error());
  }
 else
  {
   mysql_select_db($database, $db) or die('Failed to select database<br>'.mysql_error()); 
   mysql_query("UPDATE Users SET lat='".$email."' WHERE username='{$_SESSION['username']}'");
  }
}
?>

ところで、mysql_query が非推奨になったことは知っているので、変更します。とにかく上記のコードは機能しません。つまり、mysql の緯度値に「aaa」とは書かれていません。どこが間違っていますか?

4

2 に答える 2

0

これらの行は両方とも必要ですか?

 httpclient.execute(httppost);
 HttpResponse response = httpclient.execute(httppost);
于 2012-11-30T12:39:43.443 に答える
0

$_SESSION['username'] はいつでも設定されていないようです。

于 2012-11-30T11:55:47.263 に答える