MySQL abfrage Problem

Ich hab dein erstes Posting mal korrigiert, siehe $_POST-Variable!

PHP:
<form action="produkt.php" method="post">
  <center>
  <input type="text" size="25" name="Inhalt">
  <input type="submit" value="Suchen">  
  </center>
  </form> 

<?php
 include("db_connect.php");
       $sql = "SELECT * FROM item WHERE name like '%".$_POST["Inhalt"]."%' ORDER BY name DESC";
    $result = mysql_query($sql) OR die(mysql_error());
    while ($row = mysql_fetch_assoc($result)) {
        echo $row["name"]; 
    }
?>
 
Zuletzt bearbeitet:
Danke fuer euere Hilfe, nach Validierung der Post Valriable, ging es leider noch immer nciht, kann aber sein, das ich irgendwo nen Fehler eingetippt hatte, da es gestern als ich es ausprobierte schon recht spät war.
Mit dem geänderten Abschnitt im letzten Post geht es jetz wunderbar, ich werde dann wahrscheinlich das nächste mal mit nem Join nerven, fals ich da auch wieder einen Brett vorm Kopf habe.
 
Hallo,

hier macht es allerdings zusätzlich noch Sinn, die Zeichen % und _ mit einem vorangestellten \ zu maskieren, da sie sonst von MySQL als Platzhalter interpretiert werden. Man könnte das beispielsweise mit [phpf]str_replace[/phpf] bewerkstelligen.

Grüße,
Matthias
 
Ich glaube, er will dass dies als Platzhalter dient, um alle Ergebnisse zu erhalten, die $_GET["Inhalt"] beinhalten.



Gruß Radhad
 
Genauso war es gedacht, da man niht immer den genauen Name kennt, und man somit sowohl items suchen kann, welche das eingegeben Wort am Anfang, Ende oder in der mitte enthalten.
 
Hallo,

ich glaube ihr habt mich falsch verstanden. Mir geht es darum, die Zeichenkette $_POST['Inhalt'] entsprechend zu verarbeiten. Ansonsten würde eine Suche nach a_b nicht nur a_b finden, sondern auch aab, akb, azb etc.

Grüße,
Matthias
 
Zurück