Temp Diagramm MY SQL/Phpmyadmin

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo zusammen,


    ich habe folgendes Problem.


    Ich möchte ein Tempwert-Diagramm über phpmyadmin auf einer Webseite darstellen.

    Als Sensor habe ich hier den DS18B20.

    Bin hier strikt nach dem Video von The-ITTV vor gegangen.


    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    Das Problem wird natürlich schon mal sein dass das Video von 2015 ist.

    Habe soweit alles gemacht wie im Video beschrieben.



    Mein Problem ist das er wenn ich auf die Webseite zugreifen möchte eine leere weiße Seite erscheint.



    Folegende Meldung erscheint wenn ich in Chrome die Konsole öffne.

    Failed to load resource: the server responded with a status of 500 (Internal Server Error)



    Ich weiß hier momentan nicht mehr weiter.

    Bin leider blutiger Anfänger.


    Hat jemand so etwas schon einmal gemacht ?


    Und hat eventuell eine Anleitung welche aktueller ist ?

    Vermute das hier irgendwelche PHP Versionen nicht stimmen oder so.


    Vielen Dank im Vorraus.



    Tempwerte.php

  • Okay ich habe in den Kommentaren überaebeitete php-Skripte gefunden in PHP7.


    Meine Tabelle wird jetzt auch angezeigt allerdings sehe ich noch keinen Inhalt.


    Wenn ich die gettemp.php ausführe kommt folgende Fehlermeldung:


    pi@raspberrypi:~ $ sudo su

    root@raspberrypi:/home/pi# php /home/pi/getTemp.php

    PHP Notice: A non well formed numeric value encountered in /home/pi/getTemp.php on line 19

    root@raspberrypi:/home/pi#


    Line 19 sollte diese sein:

    Code
    $temperature = sprintf("%2.2f", $tempSensorTemperature / 1000);


    Was hat er da für ein Problem ?

  • Bau doch in Zeile 17 mal ein

    Code
    echo $tempSensorTemperature;

    o.ä. ein. Wer weiß, was da genau so drinsteht...

    pi@raspberrypi:~ $ php /home/pi/getTemp.php

    23250

    PHP Notice: A non well formed numeric value encountered in /home/pi/getTemp.php on line 19



    dann bringt er den tempwert des sensors

    aber die Meldung kommt immer noch

  • Die Temperatur ist also ein String mit numerischem Inhalt. Wandle ihn in ein Integer um, damit die Berechnung sauber(er) ist:

    Code
    $tempSensorTemperature = intval(substr($tempSensorRawData, strpos($tempSensorRawData, "t=") + 2));


    Ich habe es auf ein Minimal-Testscript reduziert:

    PHP
    <?php
    $tempSensorTemperature = intval("23250");
    
    $temperature = sprintf("%2.2f", $tempSensorTemperature / 1000);
    
    echo $temperature;
    ?>
  • Was mich irritiert ist, dass ich Deine "Fehler"meldung (PHP Notice: A non well formed numeric value encountered in /home/pi/getTemp.php on line 19) nicht reproduziert bekomme.


    Welche PHP-Version benutzt Du?

  • Was mich irritiert ist, dass ich Deine "Fehler"meldung (PHP Notice: A non well formed numeric value encountered in /home/pi/getTemp.php on line 19) nicht reproduziert bekomme.


    Welche PHP-Version benutzt Du?

    Webserver

    Webserver

    Apache/2.4.53 (Raspbian)

    Datenbank-Client Version: libmysql - mysqlnd 7.4.28

    PHP-Erweiterung: mysqli Dokumentation curl Dokumentation mbstring Dokumentation

    PHP-Version: 7.4.28

  • ??

    Wann hast Du zum letzten Mal ein OS-Update gemacht?

    Code
    sudo apt update
    sudo apt upgrade


    Was kommt raus bei:

    Code
    cat /etc/os-release

    erst heute




    cat /etc/os-release

    PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"

    NAME="Raspbian GNU/Linux"

    VERSION_ID="11"

    VERSION="11 (bullseye)"

    VERSION_CODENAME=bullseye

    ID=raspbian

    ID_LIKE=debian

    HOME_URL="http://www.raspbian.org/"

    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"

    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

    root@raspberrypi:/#




    nachdem ich jetzt das intval davor gesetzt habe läuft das skript auch durch

  • Code
    PHP Warning:  mysqli_result::fetch_array() expects parameter 1 to be int, string given in /var/www/html/Tempwerte.php on line 61
    PHP Warning:  Use of undefined constant MYSQL_BOTH - assumed 'MYSQL_BOTH' (this will throw an Error in a future version of PHP) in /var/www/html/Tempwerte.php on line 61

    ich glaube im Tempwerte.php hat er einen Fehler?


    mit MYSQL_BOTH ist das veraltet ?

  • - die Tempwerte.php hatte ich oben rein geschickt aber irgendwie nur zur Hälfte Zeile61 fehlt da.


    Werde ich morgen mal nachreichen.


    Aber danke für deinen eifrigen Einsatz hier.


    apt list php schicke ich auch morgen

  • pi@raspberrypi:~ $ apt list php

    Auflistung… Fertig

    php/stable,now 2:7.4+76 all [installiert]

    pi@raspberrypi:~ $



  • PHP
         while ($row = $result->fetch_array(MYSQL_BOTH)) {
             ...
         }


    Zumindest ist das MYSQL_BOTH nirgendwo in Deinem Code (der hier veröffentlicht ist) definiert. Und das meckert er an.

    Entweder ist da noch ein Tippfehler oder es fehlt etwas ...