2017-06-04 62 views
0

我試圖從傳感器DHT22連接到覆盆子pi讀取溫度,並通過PHP腳本將其寫入到mysql數據庫。從shell exec傳遞變量到mysql_query

我得到的溫度是這樣的:

$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總是寫$臨時$哼哼,而不是實際值。我認爲我已經嘗試了所有可能的引號組合等等...... 什麼可能是錯誤的?在此先感謝您的答案。

+1

它的一個 「串東西」 變' 「$ TEMP」, 「$嗚嗚」'到' 「 '$溫度。'」,「」。$嗡嗡聲被發現。 「「' –

回答

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

請注意雙引號

有雙人和單引號之間的區別:

  • 雙引號由PHP引擎解析。您可以將變量放入其中,並可用於顯示轉義的特殊字符。
  • 另一方面,單引號會按原樣顯示。它們不會被PHP解析,也不需要轉義,除了'告訴解釋器引用是字符串的結尾還是其一部分。

您正在使用單引號,這就是爲什麼您的字符串不被解析爲變量。

更多信息可在PHP Manual