我正在尝试从物联网设备中捕获一些数据。问题是捕获必须在ip中提供给设备的数据,以便将数据[发布到该IP地址。
为了处理这些数据,我想出了这个脚本并恰当地命名为index.php
<?php
$servername = "94.049.947.776";
$username = "droid";
$password = "!@nord";
$dbname = "atree";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$data = $_POST;
$sql = "INSERT INTO gps (data)
VALUES ('$data')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
为了测试它,我有这个HTML页面
<form method="post" action="972.245.119.017">
<input type="text" name="ed" value="jsonstring" />
<input type="submit" value="submit" />
</form>
但是,没有数据插入数据库。我的剧本可能有什么问题?。
答案 0 :(得分:0)
$_POST
是一个数组形式的php变量,可能会尝试:
替换:
$data = $_POST;
with:
$data = $_POST['ed']; // the value from the form
或您发布到index.php的其他一些值,如:
$data = $_POST['VALUE_NAME'];
考虑使用PDO(http://php.net/manual/en/book.pdo.php)作为sql部分
答案 1 :(得分:0)
你应该替换:
$data = $_POST;
by:
$data=$_POST['ed'];