Bernd: Wert einer Funktion ausgeben

Hallo,

seht ihr zufällig was ich falsch machen?

function Irreparable($mysqli, $artikelID){

    $sql = "

        SELECT a_id, SUM(avd_menge) AS `summe_Irreparable` 

        FROM artikel
        LEFT JOIN artikel_verlust_defekt ON artikel_verlust_defekt.avd_aid = artikel.a_id

        WHERE a_code=? AND avd_grund=10";
    
    $res = $mysqli->prepare($sql);
    $res->bind_param("s", $artikelID);

    $res->execute();
    $res->bind_result($summe_Irreparable);
    $res->fetch();
    $res->close();  

    return $summe_Irreparable; 
}

Und die Ausgabe dann so

echo Irreparable($mysqli, $_GET['artikel']);

In der Ausgabe steht nichts bzw. wenn ich es mit var_dump ausgebe erhalte ich NULL

Im phpMyAdmin wenn ich dort folgendes ausführe erhalte ich den Wert, den ich auch erwarte

SELECT a_id, SUM( avd_menge ) AS  `summe_Irreparable` 
FROM artikel
LEFT JOIN artikel_verlust_defekt ON artikel_verlust_defekt.avd_aid = artikel.a_id
WHERE a_code =  'a196f40a4bdb40c6551a41cdd3910d53'
AND avd_grund =10

Was mache ich falsch?

  1. Tach!

    seht ihr zufällig was ich falsch machen?

    Ich sehe es nicht, aber es muss so sein, dass du keine Fehlermeldungen auswertest oder anzeigen lässt, sonst würdest du sehen, was PHP zu diesem Code meinen hat.

    dedlfix.

    1. Hallo,

      ich hatte

      ini_set('display_errors', 0);
      

      eingestellt. Hab es jetzt auf

      ini_set('display_errors', 1);
      

      gesetzt und erhalte folgende Meldung

      Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement in

      Jetzt sehe ich auch wo der Fehler ist, aus

      SELECT a_id, SUM(avd_menge) AS `summe_Irreparable` 
      

      muss

      SELECT SUM(avd_menge) AS `summe_Irreparable` 
      
      1. Hallo Bernd,

        die Energie des Verstehens beginnt zu wirken 😉

        Rolf

        --
        sumpsi - posui - clusi
      2. Hello,

        das sind aber jetzt auch erst die php-seitigen Fehler der MySQLi-Schnittstelle. Wenn Du auch die echten Datenbankfehlermeldungen sehen willst, musst Du die auch abfragen und ggf. loggen lassen, damit Du sie auch im Betrieb zur Verfügung hast.

        Im PHP-Log respektive Apache-Error-Log hättest du wahrscheinlich auch den anderen Fehler sehen müssen. Wenn Du auf deinem Linux-Konsolenbildschirm platz hast für ein Fenster, dann lass darin die Fehlerdatei kontinuierlich anzeigen während des Entwickelns:

        
        
        >$ tail -fn 30 /var/log/apache2/error_log 
        
        

        oder wo dein error-log liegt...

        Glück Auf
        Tom vom Berg

        --
        Es gibt nichts Gutes, außer man tut es!
        Das Leben selbst ist der Sinn.
        1. Hallo,

          mit einer Konsole kann ich bei meinem Webhoster leider oder zum Glück? nicht arbeiten.

          1. Hi,

            mit einer Konsole kann ich bei meinem Webhoster leider oder zum Glück? nicht arbeiten.

            ob "leider" oder "zum Glück", liegt im Auge des Betrachters. Ich arbeite gern an der Konsole, aber nicht ausschließlich.

            Davon unabhängig: Auf deinem lokalen Testsystem hast du doch hoffentlich alle Freiheiten.

            So long,
             Martin

            --
            Ein Tag, an dem du nicht wenigstens einmal gelacht hast, ist ein verlorener Tag.
          2. Hello,

            mit einer Konsole kann ich bei meinem Webhoster leider oder zum Glück? nicht arbeiten.

            Du solltest dir ein lokales Testsystem einrichten. Wie ich selber gerade feststellen konnte, reicht dafür ein Raspberry Pi 3b+ für ca. 35€ zuzüglich Speicherkarte, vernünftigem Kühlkörper und Netzteil. Ein älterer Laptop tut es aber auch. Da spart man sich dann zusätzlichen Monitor, Maus und Tastatur.

            Es lohnt sich auf jeden Fall, sich damit zu beschäftigen und insbesondere nicht auf dem Online-Webhost zu entwickeln. Das kann leicht in die Hose gehen!

            Wie man ein solches Testsystem aufbauen kann, können wir Dir bei Bedarf weiterhelfen.

            Glück Auf
            Tom vom Berg

            --
            Es gibt nichts Gutes, außer man tut es!
            Das Leben selbst ist der Sinn.
            1. Hi,

              Du solltest dir ein lokales Testsystem einrichten.

              unbedingt, ja.

              Wie ich selber gerade feststellen konnte, reicht dafür ein Raspberry Pi 3b+ für ca. 35€ zuzüglich Speicherkarte, vernünftigem Kühlkörper und Netzteil.

              Ich habe bis jetzt nur mit Himbeeren der 2. Generation Erfahrungen gemacht, und ich finde, für Server-Anwendungen ohne GUI sind die auch völlig ausreichend. Ein System mit GUI ist dann aber schon grenzwertig; ich habe mal versucht, einen Pi als Video-Player einzusetzen. Aber das Ding konnte nicht einmal Videos in Standard-TV-Auflösung (oder DVD) ruckelfrei abspielen (von HD gar nicht zu reden), obwohl das Web voll von Behauptungen ist, dass das funktioniert.

              Ein älterer Laptop tut es aber auch.

              Ja. Oder eine VM, wenn man einen einigermaßen leistungsfähigen PC hat (egal ob Desktop oder Notebook).

              Da spart man sich dann zusätzlichen Monitor, Maus und Tastatur.

              Bei der VM auch.

              Ciao,
               Martin

              --
              In Frankreich wurden früher die Verbrecher mit der Gelatine hingerichtet.
              1. Hello,

                der Raspberry Pi 3b+ schafft HD-IP-TV. Allerdings muss man dringend einen großen Kühlkörper sauber aufsetzen.

                Kühlkörper für Raspi 3b+

                Mit dem Standardkühlkörper aus dem Starterkit steigt die Temperatur beim Decoding vom HD-Stream auf über 75°C, mit dem abgebildeten bleibt sie auch ohne Ventilatorbetrieb unter 50°C. Mit Venti bei 3,3V (unhörbar) sinkt sie nochmal um ca. 3°.

                Ich habe noch nicht den Hardware-Codec freigeschaltet. Der soll nochmal eine Menge bringen bei H264 und H265. Er kostet entweder ein paar Euro Lizenzgebühr oder man benutzt einen Patch. Ob der dann noch legal ist, weiß ich nicht.

                Jedenfalls macht der kleine Proz mit seinen vier Kernen ganz schön Dampf.

                Glück Auf
                Tom vom Berg

                --
                Es gibt nichts Gutes, außer man tut es!
                Das Leben selbst ist der Sinn.
                1. n'Abend,

                  der Raspberry Pi 3b+ schafft HD-IP-TV. Allerdings muss man dringend einen großen Kühlkörper sauber aufsetzen.

                  auch beim Raspberry Pi 2 bringt dämmt ein kleiner Kühlkörper das Schwitzen schon deutlich ein. Ich hatte längere Zeit einen Pi 2 als Controller für ein NAS mit 4 USB-Festplatten in Betrieb. Ich weiß nicht mehr, welche Temperaturen der erreichte, aber es kam mir relativ viel vor. Dann habe ich den drei Chips je einen dafür zugeschnittenen Kühlkörper spendiert (gab's als Set für 1.45 bei amazon), und die Temperatur ging um fast 10° zurück.

                  Mit dem Standardkühlkörper aus dem Starterkit steigt die Temperatur beim Decoding vom HD-Stream auf über 75°C, mit dem abgebildeten bleibt sie auch ohne Ventilatorbetrieb unter 50°C. Mit Venti bei 3,3V (unhörbar) sinkt sie nochmal um ca. 3°.

                  Was denn, die Turbine bringt nur 3°C? Mehr nicht??

                  Ich habe noch nicht den Hardware-Codec freigeschaltet.

                  Ich auch nicht. Aber meine Videos sind auch überwiegend MPEG2 oder MPEG4-ASP (xvid), während MPEG4-AVC (x.264) bei mir bisher eher selten ist.

                  Er kostet entweder ein paar Euro Lizenzgebühr oder man benutzt einen Patch.

                  Oh. Das ist eine interessante Richtung! ;-)

                  Ciao,
                   Martin

                  --
                  Ein Tag, an dem du nicht wenigstens einmal gelacht hast, ist ein verlorener Tag.
              2. Hello,

                Ein älterer Laptop tut es aber auch.

                Ja. Oder eine VM, wenn man einen einigermaßen leistungsfähigen PC hat (egal ob Desktop oder Notebook).

                Die Himbeere hat allerdings den Vorteil, dass man sie eher durchlaufen lassen kann mit ihren ca. 1,5 bis 7W (je nach Last). Mit 'ner VMWare würde ich das nicht unbedingt wollen.

                Da die Macke im letzten Fritz-OS (Pushservice neue IP) immer noch nicht behoben ist, leistet mir der Raspi da im Moment gute Dienste, alle zwei Minuten meine aktuelle Home-IP auf dem Webserver abzulegen.

                Glück Auf
                Tom vom Berg

                --
                Es gibt nichts Gutes, außer man tut es!
                Das Leben selbst ist der Sinn.
                1. Hallo Tom,

                  Ein älterer Laptop tut es aber auch.

                  Ja. Oder eine VM, wenn man einen einigermaßen leistungsfähigen PC hat (egal ob Desktop oder Notebook).

                  Die Himbeere hat allerdings den Vorteil, dass man sie eher durchlaufen lassen kann mit ihren ca. 1,5 bis 7W (je nach Last). Mit 'ner VMWare würde ich das nicht unbedingt wollen.

                  ja klar, aber es ging ja um ein Testsystem für Web-Geschichten, das muss man ja nicht 24/7 durchlaufen lassen.

                  Da die Macke im letzten Fritz-OS (Pushservice neue IP) immer noch nicht behoben ist, leistet mir der Raspi da im Moment gute Dienste, alle zwei Minuten meine aktuelle Home-IP auf dem Webserver abzulegen.

                  Oh. Solche Bugs habe ich mit AVM nicht erlebt.

                  Ciao,
                   Martin

                  --
                  Ein Tag, an dem du nicht wenigstens einmal gelacht hast, ist ein verlorener Tag.