MySQL Abfrage verursacht Fehler wenn kein Eintrag vorhanden

  • Hallo,

    ich hab ein kleines Problem,

    in meinem Script verwende ich eine Funktion um Ergebnisse einer MySql Abfrage in ein Array zu holen.

    SQL
    SELECT CONCAT(`Datum`, ' ',`Rechnungsnummer`) From `Rechnungen` WHERE `Kundennummer` LIKE '100000' ORDER BY `Datum`

    Wenn nun für diese Kundennummer keine Rechnungsnummer vorhanden ist, sprich für den Kunden noch keine Rechnung im System ist, kommt ein Fehler:

    The requested action with this object has failed.:
    $query_ergebnis = $rs.getrows

    um das ganze zu umgehen hab ich bisschen google bemüht und daraufhin If NOT IsArray($query_ergebnis) mit in die Funktion eingebunden, aber soweit kommt er ja leider gar nicht....

    Kann ich das noch anderweitig abfangen?

    Kann mir jemand bei der Beseitigung meines Denkfehlers helfen?


    Spoiler anzeigen
    [autoit]


    Func _db($query)
    $db = ObjCreate("ADODB.Connection")
    $db.open ("DRIVER="&$sql_DRIVER&";SERVER="&$sql_SERVER&";DATABASE="&$sql_DATABASE&";Option="&$sql_Option&";UID="&$sql_UID&";PWD="&$sql_PWD&";PORT="&$sql_PORT)
    if Stringleft($query,3) = "SEL" then
    $rs = $db.execute($query)
    $query_ergebnis = $rs.getrows
    If NOT IsArray($query_ergebnis) Then
    $db.close
    Else
    Return $query_ergebnis
    EndIf
    Else
    $query_ergebnis = $db.execute($query)
    if @error then
    return 1
    Else
    return 0
    EndIf
    EndIf
    $db.close
    EndFunc

    [/autoit]

    2 Mal editiert, zuletzt von quagger (3. Januar 2011 um 10:39)

    • Offizieller Beitrag

    Hallo,

    vllt. solltest du erst mal mit $rs.RecordCount prüfen ob überhaupt was zurückgegeben wurde.

  • Hoi,

    leider liefert mir RecordCount immer "-1", egal ob ein oder mehrere oder gar kein Eintrag gefunden wird... :(


    also ich überprüfe das ganze jetz mit $rs.EOF und das funzt einwandfrei, danke für die Hilfe ;)

    Einmal editiert, zuletzt von quagger (2. Januar 2011 um 19:55)