gpt4 book ai didi

php - 将变量从 shell exec 传递到 mysql_query

转载 作者:行者123 更新时间:2023-11-29 18:50:55 25 4
gpt4 key购买 nike

我正在尝试从连接到树莓派的传感器 DHT22 读取温度,并通过 PHP 脚本将其写入 mysql DB。

我得到的温度是这样的:

$temp = shell_exec('./temp.py');

脚本返回数字,如 45 或 45.7 等...与湿度相同。当我在同一脚本中回显它时,它可以工作。而我无法通过的东西就在这里:

$sql='INSERT INTO values (id, date, time, timestamp, temp, hum) VALUES ("", NOW(), NOW(), NOW(), "$temp", "$hum")';
$result = MySQL_Query($sql);

但是在数据库中总是写$temp$hum,而不是实际值。我想我已经尝试了引号等所有可能的组合......可能出了什么问题?预先感谢您的回答。

最佳答案

$sql="INSERT INTO values (id, date, time, timestamp, temp, hum) VALUES (\"\", NOW(), NOW(), NOW(), \"$temp\", \"$hum\")";
$result = MySQL_Query($sql);

注意双引号

双引号和单引号的区别:

  • 双引号由php引擎解析。您可以将变量放入其中,并可用于显示转义的特殊字符。
  • 另一方面,
  • 单引号按原样显示。它们不被 PHP 解析,也不需要转义,除了 ' 告诉解释器引号是字符串的结尾还是字符串的一部分。

您使用了单引号,这就是您的字符串未解析为变量的原因。

更多信息可以在 PHP Manual 中找到。

关于php - 将变量从 shell exec 传递到 mysql_query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44357671/

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