mysql_query problem

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

  • mysql_query problem

    Hi@all

    Ich hab ein kleines Problem mit einer SQL Abfrage in PHP, ich hab eine Tabelle mit 3 Spalten, id, name und sprache. Ich möchte eine Abfrage machen, wo ich sage ich möchte die Anzahl eines Begriffs in der Spalte sprache, wenn z.b. in der Spalte sprache "Deutsch" 3mal vorkommt soll der mir eine 3 ausgeben, und so ist mein SQL code:

    Code:
    SELECT COUNT(sprache) from test where sprache like 'deutsch';
    Wenn ich den SQL-Code in PHPmyAdmin auführe, funktioniert das auch, und er zeigt mir eine 4 an, da in der Spalte sprache 4 mal Deutsch steht, aber wenn ich den nun als mysql_query in PHP einfüge, das sähe so aus:

    PHP-Code:
    $sum = @mysql_query("SELECT COUNT(sprache) from test where sprache like 'deutsch'")or 
    die(
    "Konnte den SELECT-Befehl nicht ausführen!!!"); 
    Wenn ich dann $sum abfrage kommt aber dieses:
    Resource id #17

    Jetzt weiß ich nicht weiter, ist das normal? Ist was an meinem mysql_query falsch?
    Kann mir jemand helfen??

    dickes dankeschön für Hilfe im Voraus!!

    Greetz Mülla!!
    Zuletzt geändert von mülla; 04.11.2004, 21:25.

  • #2
    habs nicht ganz gelesen, weil du dein posting leider so formatiert hast, dass ich weit nach rechts scrollen muss.

    aber vielleicht guckst du dir mal mysql_fetch_* an.

    Kommentar


    • #3
      thx für die schnelle antwort und sorry für die überbreite, auf meinem bildschirm hatte alles gepasst, habs geändert...

      mysql_fetch also? Ich hab mir das mal grad angesehen, muss ich das in verbindung mit einem array in php machen?

      hab nicht wirklich was vernünftiges hilfreiches im netz gefunden...

      greetz mülla

      Kommentar


      • #4
        schattenbaum.net <- Grundlagen!

        Kommentar


        • #5
          thx...

          also ich hab das jetzt gemacht:

          PHP-Code:
          $abfrage = @mysql_query("SELECT COUNT(sprache) from test where sprache like 'deutsch'")or 
          die(
          "Konnte den SELECT-Befehl nicht ausf&uuml;hren!!!");
          while (
          $sum mysql_fetch_object($abfrage))
          {
           echo 
          $sum->sprache;
           } 
          Nur leider zeigt er mir nichts an... hab ich einen fehler gemacht?

          Kommentar


          • #6
            Nur leider zeigt er mir nichts an... hab ich einen fehler gemacht?
            ja.

            - stell dein error_reporting mal auf E_ALL
            - laß dir $sum mal mittels print_r ausgeben ...
            - gibt dem COUNT einen alias, um ihn anzuspechen, wenn du fetch_object benutzt ....
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              und das @ solltest du erst hinzufügen, wenn dein code funktioniert.

              die fehlermeldung sind meistens sehr sinnvoll und führen oft schon zur lösung.


              byez - sagg
              mfg - sagg

              Kommentar


              • #8
                thx für die antworten, doch leider weiß grad garnicht wie ich das machen soll

                könnt ihr mir evtl. ein kleines beispiel geben?

                Kommentar


                • #9
                  SELECT COUNT(sprache) ICHBINEINALIAS

                  mach das mal so und dann gib $sum->ICHBINEINALIAS aus
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Mit dem Alias gehts garnicht, dann kommt die or die Meldung...

                    mmh, also ich hab das so probiert:
                    Code:
                    SELECT COUNT(sprache) alias from test where sprache like 'deutsch';
                    mmh... ich weiß nicht weiter

                    Kommentar


                    • #11
                      *grrr*

                      dann verwende doch anständige fehlermelduingen!

                      mysql_error
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        hallo nochmal...

                        also hab jetzt mit mysql error gemacht und da kam, dass ich keine datenbank ausgewählt hätte, obwohl ich eigentlich connected bin mit der db, dann hab ich das noch hinzufgefügt:
                        Code:
                        mysql_select_db("database");
                        und nun zeigt er keinen Fehler, aber dafür bloß eine 0: aber es müsste normal eine 4 sein... mmh

                        Kommentar


                        • #13
                          also, hab das jetzt hinbekommen... ich hab das nochmal in Phpmyadmin getestet und gesehen, dass die abfrage die spaltenüberschrift ändert, dann kann quasi bei $sum->sprache niemals die spalte finden, der machte daraus ein COUNT( sprache ) ... das in php ging auch nicht, dann hab ic einfach die abfrage so gemacht:

                          Code:
                          SELECT COUNT(sprache) as summe from test where sprache='deutsch';
                          und es funzt

                          Juuuhhu...

                          thx für eure hilfe!!!

                          Kommentar

                          Lädt...
                          X