Ankündigung

Einklappen
Keine Ankündigung bisher.

MSSQL (sqlsrv) SELECT COUNT - Frage

Einklappen

Neue Werbung 2019

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

  • MSSQL (sqlsrv) SELECT COUNT - Frage

    Moin,

    ich habe eine Tabelle mit Adressen und der jeweiligen Anzahl der Wohneinheiten, die pro Adresse vorhanden sind.

    Ich möchte jetzt mit SQL die ANZAHL der Wohneinheiten ermitteln, also soll SQL mir den Inhalt jeder Zeile zusammenrechnen und als Ergebnis ausspucken - das klappt soweit auch ganz gut, nur mit der Ausgabe habe ich meine Schwierigkeiten...

    hier mal das Statement:

    PHP-Code:
    $ort_anz_we 'Hamburg';
    $str_anz_we 'Reeperbahn';
    $anz_we "SELECT COUNT (Wohneinheiten) AS anz_we FROM Adressen
    WHERE Ort = '
    $ort_anz_we' AND Strasse = '$str_anz_we'";
    $anz_we_erg sqlsrv_query($conn$anz_we);
    $anz_we_erg_ausgabe sqlsrv_fetch_array($anz_we_erg);
    if( 
    $anz_we_erg === false ) {
    die( 
    utf8_encode(print_rsqlsrv_errors(), true)));
    }
    echo 
    $anz_we_erg_ausgabe
    Jetzt bekomme ich natürlich
    PHP-Code:
     Notice: Array to string conversion in 
    , ich wüsste jetzt aber auch nicht, wie ich sonst auf die Daten zugreifen sollte...

    Was ich ebenfalls probiert habe ist
    PHP-Code:
    sqlsrv_num_rows 
    <- hier wird mir allerdings garnichts angezeigt (kein Ergebnis und keine Fehlermeldung)

    PHP.net hat zwar eine nette Beschreibung für sqlsrv, allerdings habe ich zu meinem Anliegen nicht viel gefunden... Ich hoffe, mir kann hier jemand weiterhelfen
    Brontalos Multigaming


  • #2
    Damit greifst du auf deinen Wert im Array zu.

    PHP-Code:
    echo $anz_we_erg_ausgabe['anz_we']; 
    Und hiermit kannst du dir einen schönen Überblick verschaffen, wie dein Array aussieht.
    PHP-Code:
    echo '<pre>';
    var_dump($anz_we_erg_ausgabe); 
    Ich denke, du solltest dir auch mal PDO (http://www.php.net/manual/de/class.pdo.php) ansehen. Es unterstützt auch MSSQL und ein paar andere DBMS, die Querys gibst du Datenbankspezifisch ein aber die Funktionen in PHP sind immer die gleichen, falls du irgendwann mit einer anderen Datenbank arbeitest musst du dir also keine neuen PHP-Funktionen merken.
    Und es gibt dir prepared statements wodurch die Sicherheit undab und zu die performance steigt.
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      Zitat von Kerim Beitrag anzeigen
      Jetzt bekomme ich natürlich
      PHP-Code:
       Notice: Array to string conversion in 
      , ich wüsste jetzt aber auch nicht, wie ich sonst auf die Daten zugreifen sollte...
      Naja, du verwendest fetch_array(), also bekommst du auch ein Array. Verwende $anz_we_er_ausgabe['anz_we'].

      Zitat von Kerim Beitrag anzeigen
      Was ich ebenfalls probiert habe ist
      PHP-Code:
      sqlsrv_num_rows 
      <- hier wird mir allerdings garnichts angezeigt (kein Ergebnis und keine Fehlermeldung)
      Wenn du nichts ausgegeben bekommst, hast du wohl einen Fehler bei der Abfrage davor. Bei einem echo wird nämlich der Rückgabewert false zu einem Leerstring gecastet.

      Kommentar


      • #4
        Super - vielen Dank für die Antworten

        ich deklariere also die Summe der zusammengezählten Wohneinheiten als "anz_we" - die Lösung dementsprechend war $anz_we_erg_ausgabe['anz_we']

        Danke für den PDO-Link schau ich mir mal genauer an!
        Brontalos Multigaming

        Kommentar

        Lädt...
        X