从Android应用程序发送JSON数组到PHP

时间:2016-09-16 18:02:12

标签: php android mysql json sqlite

我正在尝试将SQLite数据库同步到MySQL服务器,似乎这样做的方法是将SQLite数据库转换为JSON文件,然后将其发送到PHP以将其写入数据库。 我创建了这个php文件来接受JSON数据:

var table = Client.GetSyncTable<ModelForTable1>();
var search = Spinner.getSelectedItem().toString();
var results = table
    .Where(record => record.Column1 == search)
    .ToList();

我还设法将我在android端的数据转换为JSON格式:

<?php
include 'databaseconnect.php';
$jsonInput = $_POST['json'];
echo $jsonInput;
$data = json_decode($jsonInput);
foreach($data as $inv){
    $id = $inv->id;
    $inMillis = $inv->inMillis;
    $outMillis = $inv->outMillis;
    $complete = $inc->complete;
    $sql = "INSERT INTO history (id, inMillis, outMillis, complete) VALUES ('$id', '$inMillis', '$outMillis', '$complete')";
    $res = mysqli_query($conn, $sql);
}
?>

我现在真的很难将这些数据发送到PHP文件,我在网上找到的所有解决方案都不起作用。我想知道是否有人可以帮我找到解决方案? 谢谢!

2 个答案:

答案 0 :(得分:0)

echo "<pre>";

$jsonInput = '[{"ID":"1","INMILLIS":"1474045680982","OUTMILLIS":"1474046580983","COMPLETE":"1"}]'; 
$data = json_decode($jsonInput,true);

foreach($data as $inv){
    $id = $inv['ID'];
    $inMillis = $inv['INMILLIS'];
    $outMillis = $inv['OUTMILLIS'];
    $complete = $inv['COMPLETE'];
    $sql = "INSERT INTO history (id, inMillis, outMillis, complete) VALUES ('$id', '$inMillis', '$outMillis', '$complete')";

    echo $sql."\n";

}

转换数组$data = json_decode($jsonInput,true);中的json并使用foreach循环

输出:INSERT INTO history (id, inMillis, outMillis, complete) VALUES ('1', '1474045680982', '1474046580983', '1')

答案 1 :(得分:0)

在您的Android应用中,在帖子正文中生成一个带有json的http帖子。