Fehler in mysql_query



  • Hallo,
    ich habe ein Problem mit folgendem Codestück.
    In der select Abfrage sollen, die mit POST übergebenen Werte als Suchkriterium verwendet werden. Die Ergebnisse sollen in einer HTML Tabelle ausgegeben werden. Leider spuckt der keine Ergebnisse aus und liefert mir noch 2 Warnings, allerdings keine Fehler. Wär nett wenn mir einer zeigen könnte wo da der Wurm drin ist 😉

    <?php
    		 $search_name = $_POST['search_name'];
    		 $search_vorname = $_POST['search_vorname'];
    
     		 $search = mysql_query("SELECT DISTINCT * FROM `datenbank` WHERE `name` LIKE '$search_name' AND `vorname` LIKE '$search_vorname'");		 		 
    
            $ergebnis = mysql_num_rows($search); 
    	echo "Anzahl der Datensätze: $ergebnis";
    
    ?>
    
    <table>
        <tr>
    	<th>Name</th>
            <th>Vorname</th>
    
       </tr>
    <?php while ($adr = mysql_fetch_array($search)){ ?>
    
        <tr>
            <td><?=$adr['search_name']?></td>
            <td><?=$adr['search_vorname']?></td>
    
        </tr>
    
    <?php
    }
    ?>
    

    Und hier die Warnings:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in result.php on line 27

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



  • Du weißt schon, dass das keine Suche sondern ein Abgleich ist?
    Da kannst du gleich "WHERE name = ... AND vorname = ..." einsetzen.

    Ansonsten:
    http://de.wikipedia.org/wiki/SQL_Injection



  • ok hab das erstmal so gemacht wie im wikibook beschrieben. Komischweise spuckt er aber immer noch keine Ergebnisse aus und diese Warnings verwirren mich.



  • Wie wär's wenn du mal nach dem Aufruf von mysql_query die Funktion mysql_error benutzt, um herauszufinden wo genau der Fehler liegt?

    echo mysql_error();
    

    Die Warnungen SCHREIEN dir doch gerade zu ins Gesicht, dass ein Fehler im MySQL-Query vorhanden ist!


Anmelden zum Antworten