SQL-Ergebnis als Variable speichern

  • Hallo zusammen,
    ich bin relativ neu im Thema und habe gerade eine Frage, die für Euch vermutlich relativ einfach zu beantworten ist. Ich stehe da gerade irgendwie auf dem Schlauch...


    Leider komme ich mit der Hilfe und auch mit den Themen im Forum nicht weiter.


    Ich möchte das Ergebnis einer SQL-Abfrage (SQLite) in einer Variablen speichern,
    Meine Abfrage:

    SQL
    SELECT Name FROM Einstellungen;


    Als Ergebnis bekomme ich (mit einem SQL-Browser) den korrekten Namen geliefert. Und diesen möchte ich nun als Variable speichern.
    Soweit so gut, in meinem Script bekomme ich aber nur die '0' (als Ausgabe auf der Konsole) zurück:


    PHP
    $test = _SQLite_Exec(-1, "SELECT Name FROM Einstellungen;")
    ConsoleWrite($test)


    Über Eure Tipps und Hilfe würde ich mich freuen.

  • Warum schaut keiner in die Hilfe? Wozu haben wir die deutsche Hilfe? :cursing:


    _SQLite_ExecDa steht alles, auch was die Funktion zurückgibt.


    MfG


    P.S.: Schau dir mal wegen deinem Problem
    _SQLite_Query
    ;und
    _SQLite_FetchDataan. ;)

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz


    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Vielen Dank für Deine Antwort PainTain.


    Allerdings habe ich in die Hilfe geschaut (und diese finde ich sehr gut!), sowie das Forum durchsucht.
    Das hatte ich in meinem Post auch erwähnt.


    Ich habe es nun erneut mit Query und FetchData versucht, allerdings verstehe ich es immer noch nicht.
    Als Ausgabe erhalte ich nun eine, sich ändernde Zahl, zurück (z. B. "104648728").


    Hier meine Testfunktion:

    PHP
    Func test()
    Local $hQuery, $aRow
    _SQLite_Query($hDB, "SELECT Name FROM Einstellungen;", $hQuery)
    _SQLite_FetchData($hQuery, $aRow)
    $blubber = String($hQuery)
    ConsoleWrite($blubber)
    EndFunc ;==>test


    Zudem beendet sich die SQL-Verbindung nicht sauber (unfinalizies Statement), aber das ist dann eine andere Baustelle...

  • Func test()
    Local $hQuery, $aRow
    _SQLite_Query($hDB, "SELECT Name FROM Einstellungen;", $hQuery)
    _SQLite_FetchData($hQuery, $aRow)
    $blubber = String($hQuery)
    ConsoleWrite($blubber)
    EndFunc ;==>test


    Du fragst nicht die abgefangenen Daten ab sondern das Queryhandle.


    Versuchs mal so:
    Func test()
    Local $hQuery, $aRow
    _SQLite_Query($hDB, "SELECT Name FROM Einstellungen;", $hQuery)
    _SQLite_FetchData($hQuery, $aRow)
    $blubber = String($aRow[0]) ; Die Zahl in der Klammer gibt die Abgefragte Spalte an (also bei 2 Spalten wäre die erste Spalte 0 und die 2te Spale 1 usw...)
    ConsoleWrite($blubber)
    EndFunc ;==>test

  • Und da du sicher nicht nur den ersten Namen haben willst sondern alle solltest du wie auch in den Beispielen zu FetchData eine while Schleife verwenden um alle Ergebniszeilen deiner SQL Abfrage auszulesen. FetchData liefert dir nämlich immer nur eine Zeile.

  • m-obi:
    Vermutlich weil ich, wie erwähnt, neu im Thema bin und die Beispiele nicht verstanden habe.
    Mir war nicht klar, das ich den Wert noch aus dem Array ziehen muss.
    Und dank der Antworten habe ich es nun durchschaut.


    War das ein Fehler, dass ich hier im Forum eine Frage gestellt habe?
    Ich dachte das Foren (unter anderem) dafür da sind.
    Wenn ich etwas falsches gemacht habe, dann tut es mir leid.

  • Dass man es aus dem Array holen muss, sieht man schon anhand dieser Zeile in dem Beispiel.
    $sMsg &= $aRow[0]
    Und falsch hast du nix gemacht. Ist schon in Ordnung, dass du dich hier gemeldet hast.
    Nur evtl. müsste man das Beispiel in der Hilfe ein wenig verständlicher umschreiben.