rezaharis Ответов: 1

DHT11ESP32 : ошибка при отправке данных в mysql (неопределенная ошибка индекса на PHP)


Теперь я разрабатываю веб-сайт мониторинга температуры и влажности, используя ESP32 и DHT11 в качестве датчика, но я потерпел неудачу, когда попытался отправить данные о температуре и влажности из цензора в базу данных Mysql. Вот сообщение об ошибке от arduino :

Invalid query: Data truncated for column 'temperature' at row 1


Я уже пробовал настроить write-data.php в качестве соединителя между ESP32 и Mysql ниже :

Что я уже пробовал:

<?php

    //Variabel database\
    $servername = "xxx";
    $username = "xxx";
    $password = "xxx";
    $dbname = "xxx";

    $conn = mysqli_connect("$servername", "$username", "$password","$dbname");

// Prepare the SQL statement

$result = mysqli_query ($conn,"INSERT INTO datasensor (temperature) VALUES ('".$_GET["temperature"]."')");

if (!$result)
    {
        die ('Invalid query: '.mysqli_error($conn));
    }
?>

1 Ответов

Рейтинг:
1

Richard Deeming

Не делай этого так!

Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.

PHP: SQL-инъекция - руководство пользователя[^]


Что касается Вашего сообщения об ошибке, то оно указывает на то, что вы пытаетесь вставить данные, длина которых превышает максимальную длину столбца. Вам нужно будет отладить свой код, чтобы увидеть, какие данные отправляются, и соответствующим образом обновить схему базы данных.