Android — Чтение эха в сценарии PHP с getInputStream в HttpURLConnection

Я хочу вывести эхо PHP-скрипта в logcat, но ничего не возвращается. Строка JSON {"mac": "10:A5:D0:06:C6:E9", "latitude":84.16898451,"longitude":3.16561387,"route": 1} есть ли в методе doInBackground, я вижу это в выводе. Выходные данные getResponseCode: 200 но сейчас я пытаюсь прочитать эхо сценария PHP, но Logcat не показывает ничего.

На стороне сервера таблица создается, но в нее не вставляются данные.

метод doInbackground:

protected Void doInBackground(String... params) {
// TODO Auto-generated method stub
BufferedReader reader = null;

try {
System.out.println("The output of : doInBackground " + params[0]);

URL myUrl = new URL("http://byethost.com/index.php");
HttpURLConnection conn = (HttpURLConnection) myUrl.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.connect();

System.out.println("The output of getResponsecode: "+ conn.getResponseCode());

DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(params[0]);

StringBuilder sb = new StringBuilder();
reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
String line;

while ((line = reader.readLine()) != null) {
sb.append(line + "\n");

}

System.out.println("The output of the StringBulder: "+ sb.toString());

wr.close();

} catch (IOException e) {

e.printStackTrace();
return null;
} finally {
if (reader != null) {
try {
reader.close();
return null;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

return null;

}

PhP скрипт:

<?php
$data = json_decode ( file_get_contents ( 'php://input', true ) );
$con = new mysqli ( "domin.com", "username", "password", "database" );$mac = $data->{'mac'};
$latitude = $data->{'latitude'};
$longitude = $data->{'longitude'};
$route =   $data->{'route'};

// check whether route's table exist.
$results = $con->query ( "SHOW TABLES like 'bus' " ) or die ( mysqli_error () );

if (($results->num_rows) == 1) {$sql = "REPLACE INTO bus(mac, route, latitude, longitude)
VALUES( ?, ?, ? , ? )";
$stmt = $con->prepare($sql);

if(false === $stmt){
echo "prepare()  failed: ";
}

$rc = $stmt->bind_param("ssss",$mac,$route, $latitude,$longitude);
echo $rc;
if ( false===$rc ) {
echo "bind_param() failed: ";
}

$rc = $stmt->execute();
echo "execute failed.";
if ( false===$rc ) {
die('execute() failed: ' . htmlspecialchars($stmt->error));
}

$stmt->close();

echo "Table exist";
} else {
$create =  "CREATE TABLE bus
(id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
mac VARCHAR(30) NOT NULL UNIQUE,
route int(11) ,
latitude FLOAT(10,6) NOT NULL ,
longitude FLOAT(10,6) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)" ;
$stmt = $con->prepare($create) or die ( $con->error );
$stmt->execute();

$stmt->close();

}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]