Я пытаюсь передать MQTT-сообщение в mysql, но всегда терплю неудачу.
Я передаю сообщение об успешном завершении, но не могу сохранить mysql ..... если я переместлю mysqli_connect в функцию procmsg ()
, будет отображаться ошибка "Доступ запрещен для пользователя root ..."
это мой код: subscribe.php
<?php
require_once("phpMQTT.php");
$server = "192.168.1.11"; // change if necessary
$port = 1883; // change if necessary
$username = "admin"; // set your username
$password = "111"; // set your password
$client_id = "eba372fd-c0ce-4ad9-a17d-8506866146a4"; // make sure this is unique for connecting to sever - you could use uniqid()
$mqtt = new phpMQTT($server, $port, $client_id);
if(!$mqtt->connect(true, NULL, $username, $password)) {
exit(1);
}
$topics['test/test1'] = array("qos" => 0, "function" => "procmsg");
$mqtt->subscribe($topics, 0);
while($mqtt->proc()){
}
function procmsg($topic, $msg){
echo "Msg Recieved: " . date("r") . "\n";
echo "Topic: {$topic}\n\n";
echo "\t$msg\n\n";
/**/
}
$mqtt->close();
$db = mysqli_connect("192.168.1.11", "root", "11", "test") or die("Could not connect: " . mysql_error());
$sql = "INSERT INTO test1 (acc) VALUES ('$msg')";
mysqli_query($db, $sql);
mysqli_close();
?>