gpt4 book ai didi

php - PHP 脚本可以等待所有变量从不同的 Arduino 的/用户更新吗?

转载 作者:可可西里 更新时间:2023-11-01 08:09:28 25 4
gpt4 key购买 nike

我有三个Arduino MKR1000附有分贝传感器的。他们每 5 秒将传感器值发送到 PHP 脚本,该脚本将其放入数据库。

问题是我需要 PHP 脚本等待所有三个值更新后再将其插入数据库。

我如何存储最先更新的两个 Arduino 的值,当最后一个 Arduino 发送它的值时,它将所有三个值插入到数据库中?

我对这段代码的问题是,当更新一个变量时,其他变量重置为 null。

<?php
include("dbconnect.php");

$db01 = $_GET['db01']; //Decibel-sensor 1
$db02 = $_GET['db02']; //Decibel-sensor 2
$db03 = $_GET['db03']; //Decibel-sensor 3

我试图从这部分返回脚本,直到设置了所有值,但是当一个变量被更改时,其他变量被设置为空。

if ($db01 == null || $db02 == null || $db03 == null){
return;
}

$sql = "INSERT INTO DDW (db_01, db_02, db_03)
VALUES ('$db01', '$db02', '$db03');";

mysql_query($sql);

成功插入变量后,它应该将所有变量重置为空,这样它就可以重新开始填充变量。

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
$db01 = null;
$db02 = null;
$db03 = null;
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

谢谢!

最佳答案

你不应该为等待而烦恼。

而是将您的 DDW 表更改为类似的内容

--------------
|sensor|value|

然后一条一条插入你的数据

$sensor = $_GET['sensor'];
$value = $_GET['value'];
$db = new PDO('mysql:dbname=testdb;host=127.0.0.1', 'dbuser', 'dbpass');

$stmt = $dbh->prepare("INSERT INTO DDW (sensor, value) VALUES (:sensor, :value)");
$stmt->bindParam(':sensor', $sensor);
$stmt->bindParam(':value', $value);
$stmt->execute();

如果需要,您还可以将插入时间和ID添加到表中。

并使用有意义的变量名和表名,如果你想回到这个项目,你会感谢自己。

关于php - PHP 脚本可以等待所有变量从不同的 Arduino 的/用户更新吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46789754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com