• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

In DB nach einem Wort suchen

  • Ersteller Ersteller htmltyp
  • Erstellt am Erstellt am
H

htmltyp

Guest
Hallo!

Ich wollte fragen was ihr für besser hält wenn ich in einem Datenbankfeld schauen will ob ein String darin vorkommt und wenn ja dann diese Zeile auslesen will.

Bis jetzt war mein befehl:

SELECT * FROM artikelvz WHERE artikel LIKE '%".$suche."%'

Nur jetzt gibt er mir die ganze Tabelle aus...vielleicht habe ich auch einen Syntaxfehler oder vielleicht ist REGEX besser?....könntet ihr mir vielleicht helfen :D
 
Oder $suche enthält einen Zeilenumbruch oder ein Prozentzeichen, du solltest diesen Wert mit einer entsprechenden Funktion maskieren.
 
Nein das passt alles. Das ist das Skript....Soll ich vielleicht Match Against verwenden?

archiv.html:

HTML:
<form method="post" action="archiv.php">
<input type="text" alt="Suche" class="searchbox" name="search"/>
<input type="submit" value="Suche" name="search" class="searchbutton" />
</form>

archiv.php
PHP:
<?php

include("archiv.html");

if(isset($_POST['search']))
{

    $suche = $_POST['searchbox'];
    $sql = ("SELECT * FROM artikelvz WHERE name LIKE '%".$suche."%'");
    $ergebnis = mysql_query($sql);
    while($row = mysql_fetch_array($ergebnis))
    {
        $array[] = $row;
        $count = count($array);

    }
    if(!isset($count))
    {
        $count = 0;
    }



}

}
 
Zuletzt bearbeitet von einem Moderator:
Oh Gott ich bin ein Idiot....Ich habe die Variablen falsch benannt....Ja ich weiß erstmal alles durchlesen wenns nicht schon 3 in der früh is und dann erst posten....sorry...aber danke für die hilfe :D :D
 
Trotz allem würd ich meinen Ratschlag befolgen. Du hast eine Sicherheitslücke programmiert.
 
Zurück
Oben