Я хочу хранить данные MQTT в MySQL, но ошибка - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь передать 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();
?>
...