我想檢查數據庫中是否存在一個數字,但無法將數據從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);
?>
我想檢查是否有任何結果,以確認數據庫中存在的數量,但首先我只是試圖返回該字符串,它返回爲空。
感謝您分享的代碼,我原樣使用它,並且工作得非常好 –