Veröffentlicht 18. Oktober 200816 j Hi Leute, kann mir jemand sagen was an dem folgenden Suchscript falsch ist und mich verbessern, das wäre nett: <?php $res = mysql_query( "SELECT * FROM ".$prefix."news WHERE moebel like '%$eingabe%' OR beschreibung like '%$eingabe%' OR muenzen like '%$eingabe%' ORDER BY NAME DESC"); { $pn = mysql_result($res, $i, "moebel"); $ak = mysql_result($res, $i, "beschreibung"); $pl = mysql_result($res, $i, "muenzen"); $ergebnis =mysql_query($res); echo "$pn, $ak, $pl, $ergebnis "; } ?>[/PHP] Ich bedanke mich im vorraus!
18. Oktober 200816 j Hallo, warum rufst Du zwei mal mysql_query auf? Wie lautet die Fehlermeldung? Frank
18. Oktober 200816 j Ich kenn mich in mysql nur sehr wenig aus. Anscheinend bist du Profi darin, könntest du mir da weiterhelfen? Es kommt keine Fehlermeldung, wenn ich was eingebe in das formular kommt wenn ich auf "Senden" klicke einfach nur der Inhalt der ersten ID aus der Tabelle NEWS und nicht das Wort dass ich in der Tabelle News ja gesucht habe, verstehste? Danke dir
18. Oktober 200816 j Kannste den fertigen Code nicht einfach hier reinschreiben. Oder ewxakte Linkangaben machen Danke
18. Oktober 200816 j Funktionsreferenz / MySQL-Funktionen / mysql_query PHP: mysql_result - Manual Frank
18. Oktober 200816 j Also ganz ehrlich Leute, ich such jetzt schon 3 Tage nach dem Script und ich komm nicht klar mit euren Links, ist zwar nett und dafür bedank ich mich auch, aber ein fertiger Code wär doch die schnellste Lösung für mich. Danke
18. Oktober 200816 j <?php $sql = "SELECT ..."; $result = mysql_query($sql); while($daten=mysql_fetch_assoc($result) { echo $daten['foo']; } ?> Bearbeitet 18. Oktober 200816 j von shinuma Edit: [CODE] vergessen
18. Oktober 200816 j Er zeigt nix mehr an, macht statdessen die Seite kaputt , vllt auch mein Fehler hab den Code jetzt so: <?php $sql = mysql_query( "SELECT * FROM ".$prefix."news WHERE moebel like '%$eingabe%' OR beschreibung like '%$eingabe%' OR muenzen like '%$eingabe%' ORDER BY NAME DESC"); $result = mysql_query($sql); while($daten=mysql_fetch_assoc($result); { echo $daten['foo']; } ?>[/PHP] Formular sieht so aus: [code]<form id="form1" name="form1" method="post" action="index.php?panel=6"> <input name="eingabe" type="text" id="eingabe" value="<?php echo $_POST['eingabe']; ?>" /> <input name="sent" type="hidden" id="sent" value="sent" /> <input type="submit" name="Submit" value="Senden" /> </form>[/code]
18. Oktober 200816 j Ich bezweifel dass auf Deiner Tabelle das Feld "foo" existiert. Schau Dir doch bitte die beiden Links an und versuche das zu verstehen, was dort erklärt wird. Du musst nur die Beispiele abschreiben und passend zu Deiner Problemstellung Felder und Select ersetzen Phil
18. Oktober 200816 j 1. ist die Form Datei überhaupt richtig so? 2. kannste nicht einfach den PHP Code verbessern, alle Felder und Tabellen die dort angebeben sind gibt es ja wirklich in der DB, nur das 'foo' nicht, aber das hab ich ja von einem der Antwortenden bekommen! Verbessere mal bitte, ich bin nämlich echt am vezweifeln, ich meine anscheinend kannst du es ja, will keine Tipps, will den Code haben XD Dank dir
18. Oktober 200816 j will keine Tipps, will den Code haben XD Wo ist der Vorteil, wenn einer von uns es dir vorkaut. Ersetz doch einfach foo mit einem gültigen Spaltenname deiner Tabelle. Frank
18. Oktober 200816 j Abgesehen davon, dass bei while($daten=mysql_fetch_assoc($result)) eine Klammer fehlte, geht das doch super. Es wäre schön, wenn Du "geht nicht" durch vollständige Fehlermeldungen ausdrücken würdest. Frank
18. Oktober 200816 j Das hab ich ja gemacht, trotzdem gehts net! Das ist ein eingebauter Selbstschutzmechanismus, den die meisten Programmiersprachen besitzen. Dieser soll u.a. verhindern, dass unperformanter und potentiell gefährlicher Code o.ä. (beides strifft auf dein SQL zu) in Produktionsumgebungen gelangt. Leider ist dieser Selbstschutzmechanismus nicht sehr ausgeprägt, aber hin und wieder funktioniert er ganz gut. Fazit: Verstehe was Du nutzen möchtest und dazu gehört auch, dass Du dich auf deine 4 Buchstaben setzt und PHP und SQL lernst. Dim
18. Oktober 200816 j So, damit du siehst, was ich in meinem panel im CMS stehen habe: Formular <form id="form1" name="form1" method="post" action="index.php?panel=6"> <input name="eingabe" type="text" id="eingabe" value="<?php echo $_POST['eingabe']; ?>" /> <input name="sent" type="hidden" id="sent" value="sent" /> <input type="submit" name="Submit" value="Senden" /> </form> Dazu der Php Code <?php $sql = mysql_query( "SELECT * FROM ".$prefix."news WHERE moebel like '%$eingabe%' OR beschreibung like '%$eingabe%' OR muenzen like '%$eingabe%' ORDER BY NAME DESC"); $result = mysql_query($sql); while($daten=mysql_fetch_assoc($result)) { echo $daten['moebel']; } ?>[/PHP] Und ich hab alles nochmals kontrolliert, alles Feldnamen und Tabellen exestieren, es geht aber trotzdem nicht, er zeigt einfach kein Text an!
18. Oktober 200816 j Und ich hab alles nochmals kontrolliert, alles Feldnamen und Tabellen exestieren, es geht aber trotzdem nicht, er zeigt einfach kein Text an! Und Du hast auch verifiziert, dass auch wirklich Daten in der Tabelle sind, die zu den Suchbegriffen passen? Auch was Gross-/Kleinschreibung betrifft? Im übrigen fehlt jeglicher Ansatz einer Fehlerbehandlung. Dim
18. Oktober 200816 j Das ist ja das, was mich ärgert. Alles ist richtig und es funzt nicht! Danke für eure zahlreichen Antworten, weiter so Geht mal auf, habs da raufgemacht: http://habbocity.de/preise/ Bearbeitet 18. Oktober 200816 j von kadri Damit ihr es mal seht!
18. Oktober 200816 j Du Scherzkeks. Ich möchte sehen welches SQL Statement an die DB gesendet wird. Frank
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.