Php 将变量从shell exec传递到mysql\u查询
我试图从连接到raspberry pi的传感器DHT22读取温度,并通过PHP脚本将其写入mysql数据库 我得到的温度是这样的:Php 将变量从shell exec传递到mysql\u查询,php,mysql,shell,Php,Mysql,Shell,我试图从连接到raspberry pi的传感器DHT22读取温度,并通过PHP脚本将其写入mysql数据库 我得到的温度是这样的: $temp = shell_exec('./temp.py'); 脚本返回45或45.7等数字。。。和湿度一样。。当我在同一个脚本中回显它时,它就工作了。 我无法通过的东西就在这里: $sql='INSERT INTO values (id, date, time, timestamp, temp, hum) VALUES ("", NOW(), NOW(), N
$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);
但在DB中总是写入$temp和$hum,而不是实际值。我想我已经尝试了所有可能的引号组合,等等。。。
可能有什么问题?提前感谢您的回答
$sql="INSERT INTO values (id, date, time, timestamp, temp, hum) VALUES (\"\", NOW(), NOW(), NOW(), \"$temp\", \"$hum\")";
$result = MySQL_Query($sql);
请注意双引号
双引号和单引号之间存在差异:
- 双引号由php引擎解析。您可以将变量放入其中,并可用于显示转义的特殊字符李>
- 另一方面,单引号按原样显示。它们不被PHP解析,也不需要转义,除了告诉解释器引号是字符串的结尾还是字符串的一部分李>
”.$temp.”、“.$hum.”