2016-09-18 132 views
1

我想檢查數據庫中是否存在一個數字,但無法將數據從android發送到php。 數據應該是String,JSON還是HashMap?我如何發送它?Android HttpURLConnection POST無法正常工作。

的Java

try { 

      URL url = new URL("http://192.168.0.106/cei/tourist_home_activities.php"); 
      HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
      conn.setRequestMethod("POST"); 
      conn.setReadTimeout(15*1000); 
      conn.setConnectTimeout(15*1000); 
      conn.setRequestProperty("Content-Type", "application/json"); 
      conn.setRequestProperty("Accept", "application/json"); 
      conn.setDoOutput(true); 
      conn.setDoInput(true); 
      conn.connect(); 

      OutputStream os = conn.getOutputStream(); 

      BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(os,"UTF-8")); 

      bufferedWriter.write(*Here is where I assume I input data*); 
      bufferedWriter.flush(); 
      bufferedWriter.close(); 
      os.close(); 

      InputStream inputStream = conn.getInputStream(); 
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1")); 
      String line = ""; 

      while ((line = bufferedReader.readLine())!=null) 
      { 
       response+= line; 
      } 
      bufferedReader.close(); 
      inputStream.close(); 
      conn.disconnect(); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

PHP

<?php 

$servername = "127.0.0.1"; 
$username = "root"; 
$password = ""; 

// Create connection 
$conn = new mysqli($servername, $username, $password); 

// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 

mysqli_select_db($conn,"discover_ilhabela"); 

$PIN=$_POST['pin']; 

$result = mysqli_query($conn, "SELECT Name FROM `monitors` WHERE  `PIN`='$PIN'"); 

/* if (mysql_num_rows($result)==1) 
{ 
print("1"); 
} 
else 
{ 
print("0"); 
} */ 

print($PIN); 

?> 

我想檢查是否有任何結果,以確認數據庫中存在的數量,但首先我只是試圖返回該字符串,它返回爲空。

+0

感謝您分享的代碼,我原樣使用它,並且工作得非常好 –

回答