tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
2193
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Mavericklp
    Mavericklp Mavericklp ist offline Mitglied Silber
    Registriert seit
    Oct 2006
    Ort
    nähe köln
    Beiträge
    96
    moin moin zusammen,
    Ich habe da mein eine Frage. In meinem PHP Code habe ich eine MySQL Abfrage eingebaut, welche lautet:
    PHP-Code:
    $result = @mysql_query("SELECT * FROM Filme ORDER BY $order");
    print_result_filme_edit1($result);
    $num mysql_num_rows($result);
    echo 
    $num " Eintraege gefunden"
    PHP-Code:
    function print_result_filme_edit1($result){
      
    // Tabellenanfang
      
    echo "<table border=\"1px\">\n";
      echo 
    "<tr>\n";
      for (
    $i 1$i mysql_num_fields($result); $i++){

          if (
    $i == 1) { //Name
              
    $breite 100;
          }
          elseif (
    $i == 2) { //Bschreibung
              
    $breite 300;
          }
          elseif (
    $i == 3) { //Kategorie
              
    $breite 50;
          }
          elseif (
    $i == 4) { //Sprache
             
    $breite 20;
          }
          elseif (
    $i == 5) { //Untertitel
             
    $breite 20;
          }
          elseif (
    $i == 6) { //Groesse
             
    $breite 50;
          }
          elseif (
    $i == 7) { //Format
             
    $breite 50;
          }
        echo 
    "<td width=\"$breite px\" bordercolor=\" black\">".mysql_field_name($result1,$i)."</td>\n";
        }
        echo 
    "<td bordercolor=\" black\">Edit</td>";
      echo 
    "  </tr>\n";
    //inhalt ausgabe
      
    while ($row mysql_fetch_row($result)){
        echo 
    "  <tr>\n";
        for (
    $i 1$i mysql_num_fields($result); $i++){
          echo 
    "    <td bordercolor=\"black\">$row[$i]</td>\n";
        }
        echo 
    "<td align=\"center\"><a href=\"filme.php?id=$row[0]\">X</a></td>";
        echo 
    "  </tr>\n";
      }
      echo 
    "</table>\n";

    und bekomme diesen Fehler ausgegeben:
    Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\Bibliothek\includes\filme.php on line 62
    das was mich jetzt an dem ganzen iritiert, ist das ich diesen Code schon mehrmals verwendet habe und jedes mal nur den Funktionsnamen und die ausgabe verändert habe. Alles andere ist gleichgebleiben und liefert keinen Fehler.

    Woran könnte es jetzt liegen das dieser fehler auftritt
     
    Zitat Zitat von Johann Wolfgang von Goethe
    Es ist nicht genug zu wissen - man muss auch anwenden.
    Es ist nicht genug zu wollen - man muss auch tun.

  2. #2
    splasch splasch ist offline Mitglied Brillant
    Registriert seit
    Jul 2004
    Beiträge
    854
    Du hast im Sql befehl eine Variable angeben!

    "SELECT * FROM Filme ORDER BY $order"

    Und zwar als String damit stimmt dann der Sql befehl nicht.
    "SELECT * FROM Filme ORDER BY ".$order;


    Mfg Splasch
     

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Beide Schreibweisen sind äquivalent, da in beiden Fällen nur der Wert der $order-Variable angehängt wird. Es wäre allerdings sinnvoll, diese neue Zeichenkette mal auszugeben, um zu schauen, ob sie der Erwartung entspricht.
     
    Markus Wulftange

  4. #4
    Avatar von Igäl
    Igäl Igäl ist offline Mitglied Brokat
    Registriert seit
    Aug 2007
    Ort
    Winterthur
    Beiträge
    280
    Variablen zwischen " " (Quotes) werden von PHP interpretiert. Jene zwischen ' ' (Singlequotes) jedoch nicht:

    PHP-Code:
    <?
        $var 
    "Test";

        echo 
    "Dies ist ein $var";
        echo 
    "<br />";
        echo 
    'Dies ist ein $var';
    ?>
    Output:
    Code :
    1
    2
    
    Dies ist ein Test
    Dies ist ein $var

    Ich würde dem Threadersteller auch raten den Querystring oder mindestens die Variable im Querystring ausgeben zu lassen. Wenn alles korrekt aussieht, den Query mal manuell direkt in der DB absetzen (über PhpMyAdmin o.ä.)

    Gruss Igäl
     

  5. #5
    Avatar von Mavericklp
    Mavericklp Mavericklp ist offline Mitglied Silber
    Registriert seit
    Oct 2006
    Ort
    nähe köln
    Beiträge
    96
    *Kopf = Tisch*

    Vielen Dank für eure Hilfe Ihr habt mir sehr weiter geholfen.

    Das Problem lag inderekt an der Abfrage. Ich habe zu wenig kopiert der teil der die Variable $order bei keiner auswahl füllt habe ich vergessen
     
    Zitat Zitat von Johann Wolfgang von Goethe
    Es ist nicht genug zu wissen - man muss auch anwenden.
    Es ist nicht genug zu wollen - man muss auch tun.

Ähnliche Themen

  1. Antworten: 30
    Letzter Beitrag: 29.07.10, 15:39
  2. Antworten: 9
    Letzter Beitrag: 14.09.08, 20:22
  3. Antworten: 9
    Letzter Beitrag: 22.04.08, 10:58
  4. Antworten: 3
    Letzter Beitrag: 18.05.07, 13:12
  5. Antworten: 9
    Letzter Beitrag: 02.01.05, 00:07