Fehler bei SELECT

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

  • Fehler bei SELECT

    Hallo zusammen!

    Kann mir von Euch jemand sagen, warum ich mit dem nachstehenden Skript immer die folgende Fehlermeldung erhalte:

    Warning: Supplied argument is not a valid MySQL result resource ....


    Skript-Ausschnitt:

    $i= 0;
    $query = "SELECT * FROM $NAMEDB WHERE nameID NOT IN (SELECT personID FROM $PERSONDB)";
    $result = mysql_query($query);
    $number = mysql_numrows($result);
    while($i<$number){
    $row = mysql_fetch_array($result);
    $pNr= stripslashes($row[person_Nummer]);
    print "$pNr";
    $i++;};


    Wahrscheinlich ist in der zweiten Zeile "$query = ....." ein Fehler; ich weiss aber beim besten Willen nicht welcher.

    Thanks für Eure Hilfe!

  • #2
    hi

    ich fuerchte

    where nameID NOT in (select ....

    geht in mysql nicht.
    du kannst bei mysql keine select statments in die where clause schreiben.
    musst du irgendwie anders loesen ..

    gruesse von pau

    Kommentar


    • #3
      genau. SUBSELECTS sind erst in mysql 4.?? vorhanden. in den bisherigen 3er versionen geht es nicht.

      du musst die das mal als array zwischenspeichern und dann für die sql vorbereiten.

      so sollte es gehen.

      PHP-Code:
      <?php

        
      // vorbereitung des array
        
      $query "SELECT personID FROM ".$PERSONDB;
        
      $result mysql_query($query);
        while(
      $zeile mysql_fetch_array($result)) {
          
      $temparray[] = $zeile["personID"];
        }
        
      $temp "'" implode("','"$temparray) . "'";

        
      // eigentliche abfrage der daten
        
      $query "SELECT person_Nummer FROM ".$NAMEDB." WHERE nameID NOT IN (".$temp.")";
        
      $result mysql_query($query);
        while(
      $zeile mysql_fetch_array($result)) {
          
      $pNrstripslashes($zeile["person_Nummer"]);
          print 
      "$pNr";
        }

      ?>
      EDIT:
      BTW
      sind das zwei tabellen, die direkt was miteinander zu tun haben?
      dafür kann man auch JOIN nehmen!!!!
      wenn du fragen hast, einfach melden.

      Zuletzt geändert von Abraxax; 13.02.2003, 11:25.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Kleine Frage ...

        Stimmt die nachstehende Zeile Deines Skripts?

        $temparray = $zeile["personID"]);

        Ich erhalte immer eine Fehlermeldung!?!?

        Kommentar


        • #5
          Funktioniert irgendwie nicht ...

          Habe den ersten Fehler korrigiert und kämpfe jetzt mit einem sehr exotischem Fehler für mich:

          Warning: Bad arguments to implode() ...

          Die Ausgabe erfolgt zwar, aber es wird nicht die gewünschte Selektion durchgeführt.

          Kann da jemand bitte helfen?

          Kommentar


          • #6
            Re: Kleine Frage ...

            Original geschrieben von ThomasM
            Stimmt die nachstehende Zeile Deines Skripts?

            $temparray = $zeile["personID"]);

            Ich erhalte immer eine Fehlermeldung!?!?
            hatte die ) vergessen zu löschen.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              jep, habe ich bereits gelöscht!

              Kannst Du mir beim implode()-Fehler auch weiterhelfen?

              Kommentar


              • #8
                das $temparray war leider kein array.

                hier die korrekt zeile

                PHP-Code:
                $temparray[] = $zeile["personID"]; 
                habe auch oben das scripte geändert...
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Besten Dank!

                  Vielen Dank für die Lösung!

                  Greets

                  Kommentar


                  • #10
                    Original geschrieben von Abraxax
                    EDIT:
                    BTW
                    sind das zwei tabellen, die direkt was miteinander zu tun haben?
                    dafür kann man auch JOIN nehmen!!!!
                    wenn du fragen hast, einfach melden.

                    hierauf hatte ich noch keine antwort bekommen ....
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar

                    Lädt...
                    X