chrigu: ausgabe problem

$query = "SELECT interpret,titel FROM songs WHERE interpret = %'$interpret'% OR titel LIKE %'$titel'% ORDER BY interpret";
$result = mysql_query($query);

$zeilen = mysql_num_rows($result);
echo "$zeilen Treffer gefunden!<br>";

for ($i = 0; $i < $zeilen; $i++) {
        $row = mysql_fetch_array($result);

$link = "http://wcwe00ez/mp3/$row[interpret]/$row[interpret] - $row[titel].mp3";

echo "<b>Interpret:</b> $row[interpret] <b>Titel:</b> $row[titel] <a href='$link'>downloaden</a> <br>";
 }

ich bekomme folgende fehlermeldung:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource..?

wie muss ich denn das ausgeben?

gruss chrigu

  1. $query = "SELECT interpret,titel FROM songs WHERE interpret = %'$interpret'% OR titel LIKE %'$titel'% ORDER BY interpret";
    $result = mysql_query($query);

    $zeilen = mysql_num_rows($result);

    ich bekomme folgende fehlermeldung:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource..?

    wie muss ich denn das ausgeben?

    Garnicht. Ich weiß nicht, wer Dir diesen Programmierstil beigebracht hat, aber ich ganz persönlich würde Dir empfehlen, daß Du besser nicht so vertrauensselig sein und stattdessen mal prüfen solltest, ob Deine Datenbankabfrage überhaupt erfolgreich war oder -kann ja passieren- einen Fehler zurückgeliefert hat (http://www.php.net/manual/de/function.mysql-error.php).

    Und dann wirst Du auch feststellen, daß Deine Abfrage ziemlicher Murks ist. Was sollen denn die ganzen Prozentzeichen mitten in der Walachei?

    Gruß,
      soenk.e

    1. $query = "SELECT interpret,titel FROM songs WHERE interpret = %'$interpret'% OR titel LIKE %'$titel'% ORDER BY interpret";
      $result = mysql_query($query);

      $zeilen = mysql_num_rows($result);

      ich bekomme folgende fehlermeldung:

      Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource..?

      wie muss ich denn das ausgeben?

      Garnicht. Ich weiß nicht, wer Dir diesen Programmierstil beigebracht hat, aber ich ganz persönlich würde Dir empfehlen, daß Du besser nicht so vertrauensselig sein und stattdessen mal prüfen solltest, ob Deine Datenbankabfrage überhaupt erfolgreich war oder -kann ja passieren- einen Fehler zurückgeliefert hat (http://www.php.net/manual/de/function.mysql-error.php).

      Und dann wirst Du auch feststellen, daß Deine Abfrage ziemlicher Murks ist. Was sollen denn die ganzen Prozentzeichen mitten in der Walachei?

      --> Prozentzeichen sind wildcards um ähnlichkeitsabfragen zu machen, anstatt genaue Abfragen
      --> ich denke er wollte eine like-Abfrage machen!!!
      --> es sollte funzen wenn du aus = ein Like machst
      $query = "SELECT interpret,titel FROM songs WHERE interpret LIKE %'$interpret'% OR titel LIKE %'$titel'% ORDER BY interpret";

      --> die fehlermeldung deutet immer auf einen fehler im sqlstring hin!!!

      --> auf jeden fall natürlich fehler abfangen!!!

      gruss romy

      1. hm, wenn ich das versuche, bekomme ich genau die gleiche fehlermeldung..

        @sönke tesch
        ich weiss nicht genau was du meinst. wenn ich ganz normal '$interpret' verwende, funktioniert es wunderbar. nur halt mit der "wildcard" will es nichts ausgeben..

        gruss chrigu

        $query = "SELECT interpret,titel FROM songs WHERE interpret = %'$interpret'% OR titel LIKE %'$titel'% ORDER BY interpret";
        $result = mysql_query($query);

        $zeilen = mysql_num_rows($result);

        ich bekomme folgende fehlermeldung:

        Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource..?

        wie muss ich denn das ausgeben?

        Garnicht. Ich weiß nicht, wer Dir diesen Programmierstil beigebracht hat, aber ich ganz persönlich würde Dir empfehlen, daß Du besser nicht so vertrauensselig sein und stattdessen mal prüfen solltest, ob Deine Datenbankabfrage überhaupt erfolgreich war oder -kann ja passieren- einen Fehler zurückgeliefert hat (http://www.php.net/manual/de/function.mysql-error.php).

        Und dann wirst Du auch feststellen, daß Deine Abfrage ziemlicher Murks ist. Was sollen denn die ganzen Prozentzeichen mitten in der Walachei?

        --> Prozentzeichen sind wildcards um ähnlichkeitsabfragen zu machen, anstatt genaue Abfragen
        --> ich denke er wollte eine like-Abfrage machen!!!
        --> es sollte funzen wenn du aus = ein Like machst
        $query = "SELECT interpret,titel FROM songs WHERE interpret LIKE %'$interpret'% OR titel LIKE %'$titel'% ORDER BY interpret";

        --> die fehlermeldung deutet immer auf einen fehler im sqlstring hin!!!

        --> auf jeden fall natürlich fehler abfangen!!!

        gruss romy

        1. hm, wenn ich das versuche, bekomme ich genau die gleiche fehlermeldung..

          mach mal n echo von deinem string, dann wirst du sicherlich gleich sehen wo der fehler liegt, irgendwo bei den Hochkommas sicher

          wenn du es nicht sehen solltest, dann schick das echo mal rüber und ich werf mal n auge drauf, okay

          romy

          1. danke fürs angebot, aber so wies bernhard geschrieben hat funktionierts, leider aber nur halb. wie oben beschrieben, gibt es mir jetzt einfach alle datensätze aus?!

            hm, wenn ich das versuche, bekomme ich genau die gleiche fehlermeldung..

            mach mal n echo von deinem string, dann wirst du sicherlich gleich sehen wo der fehler liegt, irgendwo bei den Hochkommas sicher

            wenn du es nicht sehen solltest, dann schick das echo mal rüber und ich werf mal n auge drauf, okay

            romy

      2. $query = "SELECT interpret,titel FROM songs WHERE interpret = %'$interpret'% OR titel LIKE %'$titel'% ORDER BY interpret";

        Und dann wirst Du auch feststellen, daß Deine Abfrage ziemlicher Murks ist. Was sollen denn die ganzen Prozentzeichen mitten in der Walachei?

        --> Prozentzeichen sind wildcards um ähnlichkeitsabfragen zu machen, anstatt genaue Abfragen

        Ach :) Wenn er das so haben will, dann sollte er die Prozentzeichen auch dort setzen, wo sie hingehören, nämlich _in_ die Texte. Und nicht als Torwächter vorne vor die Tür, einsam und allein, ausgesperrt, draußen in der Walachei..

        Gruß,
          soenk.e

  2. interpret = %'$interpret'% OR ...

    interpret LIKE '%$interpret%' OR ...

    1. interpret = %'$interpret'% OR ...

      interpret LIKE '%$interpret%' OR ...

      komisch, jetzt gibt es mir immer alle datensätze aus?!

      1. interpret LIKE '%$interpret%' OR ...
        komisch, jetzt gibt es mir immer alle datensätze aus?!

        if(!isset($interpret)) {
          echo 'houston, we have a problem';
        }

        Ob da der böse register_globals=off-Teufel zugeschlagen hat...?!

        1. hä?

          interpret LIKE '%$interpret%' OR ...
          komisch, jetzt gibt es mir immer alle datensätze aus?!

          if(!isset($interpret)) {
            echo 'houston, we have a problem';
          }

          Ob da der böse register_globals=off-Teufel zugeschlagen hat...?!