Temp Diagramm MY SQL/Phpmyadmin

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • 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.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    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?

    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 ?

  • Erstens sind das Warnings, keine Errors.

    Zweitens kenne ich das Tempwerte.php nicht (das aus #1 passt jedenfalls nicht zur Meldung.)

    Bzgl. Updates:

    Was zeigt

    Code
    apt list php

    ?

    - 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 ...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!