将HTTP中的值写入MySQL数据库

时间:2016-01-14 09:37:58

标签: php android mysql amazon-web-services ftp

首先我是一个DB / PHP newb,所以在这里学习。我知道这对于newb来说似乎相当高级,但我在亚马逊AWS上拥有所有基础设施设置(我在网络中工作以便生活,因此这部分很容易!)。

基本上我有一个Android应用程序,可以将我收集的数据导出到外部源,包括FTP,Dropbox和URL。我有FTP工作到Amazon EC2,但这只是将数据转储到服务器上的文本文件中,这不是我需要的。我真正需要的是将数据直接放入数据库中,我希望我可以使用URL导出选项...应用程序选项包括为URL身份验证添加用户名/密码,每个变量由&分隔#34;&",例如:

http://IP/log?firstname=%FIRST&lastname=%LAST

所以,这个问题确实是多方面的。

首先,我需要将数据存入数据库。我希望通过将应用程序指向数据库来实现这一点,但我确信我需要一些编码才能实现这一点,而我无能为力。

其次我需要剥离数据,所以我只是输入例如名字,姓氏,而不是所有其他位和bob。

如果有人能指出我的方向会很棒!

修改

这些是我的MySQL表的字段:

    Timestamp VARCHAR(50),
    Battery VARCHAR(10),
    Temperature VARCHAR(10),
    Latitude VARCHAR(50),
     Longitude VARCHAR(50),
    Speed VARCHAR(50),
    Altitude VARCHAR(50),
    Satellites VARCHAR(50),
    Android_ID VARCHAR(50),
    Android_Serial VARCHAR(50)
);

1 个答案:

答案 0 :(得分:0)

以下是有关如何解决此问题的代码示例。

// If this is a put request
if ($_SERVER['REQUEST_METHOD'] == 'PUT') {
    // Change the db_hostname, db_user, db_pass and database
    // values to your own database settings
    $conn = mysqli_connect('db_hostname', 'db_user', 'db_pass', 'database');
    $firstName = isset($_REQUEST['firstname']) ? addslashes($_REQUEST['firstname']) : false;
    $lastName = isset($_REQUEST['lastname']) ? addslashes($_REQUEST['lastname']) : false;

    // If both values are given ...
    if (false !== $firstName && false !== $lastName) {
        // Define statement
        $stmt = "INSERT INTO names (firstname, lastname) VALUES ('".$firstName."', '".$lastName."')";

        // Execute query
        mysqli_query($conn, $stmt);
    }
}

创建一个名为log.php的新文件,并将其放在您的网络服务器根目录中。

您需要PUT您的请求的网址:

http://IP/log.php?firstname=%FIRST&lastname=%LAST

希望这有帮助。