Homepage selbermachen 7.846 Themen, 35.563 Beiträge

Mit PHP in MySQL DB suchen

mastersigmund1 / 3 Antworten / Flachansicht Nickles

NAbend,
ich habe ein Problem :)
Und zwar hab ich ein kleines Script, was eine Tabelle mit div. Sachen füttert. Das einfügen klappt wunderbar.
Jetzt möchte ich in der DB suchen, und zwar so, dass nach Text in Spalte A gesucht wird, aber der Inhalt von Spalte B der gleichen ID ausgegeben wird.
Habe schon vieles probiert von "SELECT Spalte B FROM Tabelle WHERE Spalte A LIKE Suchwort" über dieses MATCH, aber nichts klappt.

Wer kann den entscheidenden Tip geben?

Ich würd schon denken, dass meins, was ich jetzt habe, laufen würde, aber er scheint wohl an der Ausgabe von Spalte B zu hängen.

Das habe ich bisher:


error_reporting(E_ALL); // alle Fehler anzeigen
include('dbconnect.php');
$Frage = $_POST['Frage'];
$query = "SELECT Antwort FROM fragen WHERE Frage LIKE '$Frage'";
$result = mysql_query($query);
echo $Frage;
echo $result;
?>

Es kommt auch kein Fehler oder so.
Hab auch schon gegooglet wie ein verrückter, aber die Ergebnisse haben nicht wirklich geholfen

bei Antwort benachrichtigen
wlaner mastersigmund1 „Mit PHP in MySQL DB suchen“
Optionen

Hi
mysql_query alleine reicht nicht, der Inhalt eines Datensatzes wird damit noch nicht "angefordert".
So sollte es klappen:

$Res = mysql_fetch_array(mysql_query($query));
echo $Res['Antwort'];


Damit werden alle selectierten Felder (hier nur Antwort) im Array $Res abgelegt.
Die Ausgabe erfolgt dann über $Array['spalte'] (hier $Res['Antwort'])

WL

PS:
Näheres hier: http://dev.mysql.com/doc/refman/5.1/de/index.html

PPS:
Hab grad entdeckt, dass du die $_POST-Variable einfach so in den Query einbaust. Das ist eine rießige Sicherheitslücke! Stichwort mysql_injections:
http://de.wikipedia.org/wiki/SQL-Injektion
und http://www.heise.de/security/artikel/43175/

Lösung: $Var = mysql_real_escape_string($_POST['var']);

bei Antwort benachrichtigen