mysql_fetch_array Problem

  • PHP
    $query = $suchbegriff; // Suchbegriff 
    
             $sql = mysql_query("SELECT kw, titel, link AS kw, MATCH(kw, titel, link) AGAINST('" . $query . "') AS matchrank FROM test WHERE MATCH(kw, titel, link) AGAINST('" . $query . "') GROUP BY (kw) ORDER BY matchrank DESC LIMIT 2"); 
    
    
     while($array = mysql_fetch_array($sql)) {   // Zeile 31
    
    
            $url_url = $array['link'];
            $url_title = $array['titel'];

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /test.php on line 31

    Was mache ich falsch?


    2 Mal editiert, zuletzt von Benutzer5 (29. August 2011 um 19:31)

  • Ich bin mal gespannt, wann das mal jeder von alleine einbaut:

    PHP
    $sql = mysql_query("...")
       or die ("MySQL-Error: " . mysql_error());
  • Und jetzt füttert man google noch mit

    Column in group statement is ambiguous

    und schon bekommt man viele Hinweise

  • Also ehrlich, mitdenken und mal die Augen aufmachen!

    SELECT kw, titel, link AS kw

    Da fällt dir nix auf?

  • Wie blind bist du eigentlich?!?!

    SELECT kw, titel, link AS kw

    2x kw ist 1x kw zuviel!!!

  • PHP
    $sql = mysql_query("SELECT kw, titel, link, MATCH(kw, titel, link) AGAINST('" . $query . "') AS matchrank FROM partner WHERE MATCH(kw, titel, link) AGAINST('" . $query . "') GROUP BY (kw) ORDER BY matchrank DESC LIMIT 2")
    
    
            or die ("MySQL-Error: " . mysql_error());

    Fehler:
    MySQL-Error: Can't find FULLTEXT index matching the column list

    Was habe ich falsch gemacht?

    Einmal editiert, zuletzt von Benutzer5 (2. September 2011 um 11:28)

  • google sagt zu: Can't find FULLTEXT index matching the column list

    Ungefähr 146.000 Ergebnisse


  • Fehler:
    Notice: Undefined variable: url_url in D:\xampp\htdocs\beispiele\test-1\test.php on line 24

    Notice: Undefined variable: url_title in D:\xampp\htdocs\beispiele\test-1\test.php on line 25

  • OK, dann nehme ich dich jetzt mal wie ein kleines Kind an die Hand, da du anscheinend selbst bei so simplen Dingen schon nicht klarkommst.

    $url_url und $url_title werden wo gesetzt?
    Rischtisch, in der Schleife.

    Aber was passiert, wenn es keine Treffer gab und das Script nicht in die Schleife kommt?
    Rischtisch, die Variablen werden nicht gesetzt.

    Und was mag dann Undefined variable bedeuten?
    Rischtisch, dein Script ist nicht in die Schleife gekommen.

    Das muss ungemein schwer sein, sich ein paar echo's in das Script zu schreiben, um den Ablauf verfolgen zu können?

    Richtig debuggen

    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  • Ich habe

    error_reporting(E_ALL);
    ini_set('display_errors', true);

    und

    echo Testausgabe

    eingefügt.

    Ergebnis:


    Notice: Undefined variable: url_url in D:\xampp\htdocs\beispiele\test-1\test.php on line 24

    Notice: Undefined variable: url_title in D:\xampp\htdocs\beispiele\test-1\test.php on line 25

    Warum kommt: Undefined variable ?

  • Warum kommt: Undefined variable ?


    Sag' mal, liest du auch ma die Antworten richtig, die du bekommst?!?!?!? Ich habe dir geschrieben, warum die Meldung kommt!!! Oder hast du das immer noch nicht verstanden???