Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Prozeduren über die MySQLi-API aufrufen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL Prozeduren über die MySQLi-API aufrufen

    Ich hatte bereits weiter Unten das Problem beschrieben. Vielleicht etwas zu ausführlich und langatmig. Es geht darum mehrere MySQL Prozeduren nacheinander aus einem PHP 7 Skript aufzurufen. Hier gibt es verschiedene APIs wobei in mehreren Quellen die "mysqli" API empfohlen wird. Nun gibt es für diese API eine Library mit Routinen mit deren Hilfe man mit einer MySQL Datenbank aus PHP heraus arbeiten kann. Um SQL Befehle bei einer bereits bestehenden Datenbank Verbindung abzusetzen z.B. "mysqli_query" oder "mysql_stmt_execute". Mit dem "mysql_query" klappt das einmal und dann nicht wieder, solange die Verbindung besteht. Beim absetzen eines zweiten Querys erhält man die folgende Fehlermeldung. "query sql3 failed: Commands out of sync; you can't run this command now". Das soll damit zu tun haben, das der Ergebnispuffer nicht geleert und als frei markiert wurde. Ich habe verschiedene Empfehlungen aus dem Internet ausprobiert, bin aber immer wieder auf denselben Fehler gelaufen. Ein Beispiel:

    PHP-Code:
     $sql_3 "call p_summe_verkaeufe();";
    echo 
    "sql_3=",$sql_3,"<br>";
    if(!(
    $result mysqli_query($conn,$sql_3))) {
    die(
    "query sql3 failed: " mysqli_error($conn));
    };
    var_dump(mysqli_fetch_all($result));
    mysqli_free_result($conn); 
    Außerdem liest man wiedersprüchliche Infos. Aus Einigen geht hervor, das es gar nicht möglich sei mit "mysqli_query" MySQL Prozeduren aufzurufen. Nur mit "mysql_stmt_execute" habe ich es auch versucht und bin nicht zum Ziel gekommen. Einziger Unterschied ich bekomme keine aussagefähigen Meldungen. So nun will ich enden und nicht wieder unlesbar lang werden. Kann mir jemand einen Tipp geben, wie man aus PHP mehrere MySQL Prozeduren aufrufen kann? Ich wäre auch bereit eine andere API wie z.B. PDO zu verwenden. Es sollte nur klappen. Ich bin bislang noch nicht geneigt meine MySQL Prozeduren umzuschreiben und in PHP - Code einzubetten.

    Vielen Dank für mögliche Tipps im voraus.

  • #2
    Warum machst du jetzt noch einmal einen neuen Thread zum selben Thema auf? Bleib in dem alten Thread!

    Kommentar


    • #3
      1. Den Grund habe ich oben erwähnt.
      2. Weil ich auf so einen hilfreichen Beitrag, wie von Dir gehofft habe.

      Kommentar


      • #4
        eben, stimme CPCoder da zu.
        Hier geht es zum ursprünglichen Thema.


        PS. Wenn keiner antwortet, weiss wohl keiner eine Lösung, gelesen wird es auf jeden Fall.

        Kommentar

        Lädt...
        X