Volltextsuche auf Webseite für MySQL Tabelle

Naja, so will ich das nicht sagen.
Ich will ja versuchen das ganze zu verstehen und habe auch schon sehr viel gelesen davon.....aber wenn man mit den ganzen Begriffen am Anfrang nichts anfangt dann braucht man eben mehr Unterstützung.
Trotzdem lege ich dir die Grundlagentutorials ans Herz.
Wie gesagt wir helfen gerne bei jedem Problem aber die Eigeninitiative darf nicht fehlen ansonsten kostet das nur Zeit und nerven ;)

Jetzt gehts zur Datenbankverbindung und da ich hier keine Fehler machen möchte, werde ich hier mal besser Nachfragen.
'mysql_host' = Die Webseite wo die Datenbank liegt - soll man hier mysql_host stehen lassen oder localhost eintragen?
Auch Try-and-Error bringt lerneffekt ;)
Nein aber normalerweise ist das localhost da dein script ja auf dem selben server liegt wie deine Datenbank.
In der Regel ist sogar ein Zugriff von extern auf mysql unterbunden um Angriffe zu verhindern.
 
Trotzdem lege ich dir die Grundlagentutorials ans Herz.
Wie gesagt wir helfen gerne bei jedem Problem aber die Eigeninitiative darf nicht fehlen ansonsten kostet das nur Zeit und nerven ;)

Danke auf jedenfass fürden Tipp und werde ich bei Zeiten sicher durchgehen, aber ich kann sagen dass Eigeninitiative bei mir auf keinenfall fehlt. Denn wenn ich Lösungen selbst gefunden habe, poste ich diese Natürlich da diese andere evtl. auch benötigen.

Wie in der Schule.
Wenn der Lehrer von X,Y sprechen und du überhaupt keine Ahnung hast, dann ist es meist besser wenn der Lehrer auf den jenigen mehr eingeht :-)
In anderen Foren habe ich schon so Sachen gelesen wie, lies die und das - Thread geschlossen.
Auf sowas kann ich verzichten und deswegen schätze ich dieses Forum schon einmal!
Danke allen


Auch Try-and-Error bringt lerneffekt ;)
Nein aber normalerweise ist das localhost da dein script ja auf dem selben server liegt wie deine Datenbank.
In der Regel ist sogar ein Zugriff von extern auf mysql unterbunden um Angriffe zu verhindern.
Naja Try and Error ist ja nicht mehr gut wenn man nicht weiss was man gerade macht, denn ich will ja nicht die Datenbank erschießen :-) Aber dafür mache ich ja jeden Tag Backups :-)

ok dann werde ich da mal localhost eingetragen, weil ich habe dort meine Webseite eingetragen und mich gefragt wieso nichts passiert. :-)
Wenn ich das auch richtig verstanden habe muss meine Eingabe immer zwischen ' sein. Also so 'meineDatenbank' oder 'meintabellenpfad'

ok, soweit habe ich einmal alles verstanden.
Jedoch stellt sich bei mir noch eine frage bei der defination der jeweiligen Datenbank und Tabelle.
Meine Artikel werden ja in die Datenbank geschrieben.
Ich gehe in phpMyAdmin und suche mir die gewählte Datenbank, woher weiss ich nun welche Pfad ich eintragen muss.

PHP:
$link = mysql_connect('localhost', 'datenbankuser', 'datenbankpasswort') 
    OR die(mysql_error()); 

$db_selected = mysql_select_db('jeweilige_datenbankpfad', $link); 
if (!$db_selected) { 
    die ('Can\'t use mysql_database : ' . mysql_error()); 
} 

$queryString = "Select column1,column2 from table where columnX like '%" . mysql_real_escape_string($suchwort) . "%'"; 

$result = mysql_query($query);
 
Ich will den Thread jetzt mal etwas entführen.
Ich habe die Beiträge jetzt mal überflogen. Ich würde auch gerne eine Volltextsuche realisieren. (Allerdings ohne PHP & co. Rein auf Datenbankbasis)
Die bisherigen Antworten hatten eins gemeinsam. Die Tabelle sowie die Spalte war immer fix vorgegeben. Ich würde sehr gerne in der ganzen Datenbank eine Volltext suche starten. Geht das irgendwie "einfach" oder muss ich da tatsächlich auf stored procedures zurückgreifen?
 
Ich will den Thread jetzt mal etwas entführen.
Ich habe die Beiträge jetzt mal überflogen. Ich würde auch gerne eine Volltextsuche realisieren. (Allerdings ohne PHP & co. Rein auf Datenbankbasis)
Die bisherigen Antworten hatten eins gemeinsam. Die Tabelle sowie die Spalte war immer fix vorgegeben. Ich würde sehr gerne in der ganzen Datenbank eine Volltext suche starten. Geht das irgendwie "einfach" oder muss ich da tatsächlich auf stored procedures zurückgreifen?

Ich will nicht unhöflich sein, aber es wäre besser wenn du für deine Frage ein eigenes Thread aufmachst und dein Beitrag gelöscht wird. Denn für anfänger wie mich sind so Zwischenrufe sehr störend. Wenn ein Anfänger nach Volltextsuche für Datenbanken sucht und den Beitrag durchliest ist es sehr verwirrend wenn beiträge findet die nicht zur lösung führen.
 
Ich habe einmal in phpmyadmin die zu durchsuchende Spalte ausgewählt sodass ich den Pfad herausfinden kann.

Das sieht dann so aus wie im Screenshot, jedoch wo bzw. wie muss ich das nun in den Code eingeben?
 

Anhänge

  • Datenbankpfad.jpg
    Datenbankpfad.jpg
    48,4 KB · Aufrufe: 28
Ich habe das nun versucht in den Code einzubauen und wenn ich die Suchfunktion nutze bekomme ich folgende Fehlermeldung:

Could not successfully run query () from DB: Query was empty
 
Bedeutet erstaunlicherweise nichts anderes als das der übergebene querystring leer war.

Das sieht dann so aus wie im Screenshot, jedoch wo bzw. wie muss ich das nun in den Code eingeben?
$queryString = " Hier bitte deine Abfrage platzieren ";

Du musst in die phpmyadmin Query allerdings noch das ...where columnX like '%suchwort%' ... einfügen.
Und ich würde an deiner Stelle das Select * durch Spaltennamen ersetzen. Also Select meineSpalte1, meineSpalte2 usw.
 
Hoffentlich habe ich das jetzt richtige so verstanden *blödmann* :confused:

Bitte gebt mir kurzes Feedback ob ich dies jetzt richtig verstanden habe.
Ich habe in phpMyAdmin zwei Datenbanken, die welche ich durchsuchen möchte, trage ich so ein.

PHP:
$db_selected = mysql_select_db('jeweiliger_datenbankname', $link);

Um den richtigen Spaltenpfad zu wählen würde ich es nach deinem Hinweis so eingeben:

PHP:
$queryString = "Select css_custom_database_4, field_18 where columnX like '%" . mysql_real_escape_string($suchwort) . "%'";

Hoffe ich habe es nun richtig verstanden und setzte unterhalb noch den kompletten Code für die Anfrage.

Da wollte ich einmal Fragen ob es bei den unterem Code nun ein Fehler drinnen ist?

Danke für eure SUPER Unterstützung.

PHP:
$link = mysql_connect('localhost', 'datenbankuser', 'datenbankpasswort')  
    OR die(mysql_error());  

$db_selected = mysql_select_db('jeweiliger_datenbankname', $link);  
if (!$db_selected) {  
    die ('Can\'t use mysql_database : ' . mysql_error());  
}  

$queryString = "Select css_custom_database_4, field_18 where columnX like '%" . mysql_real_escape_string($suchwort) . "%'";
 

$result = mysql_query($query);
 
Ich glaube schon langsam es zu verstehen.
Ich habe nun den unten angeführten Code nach deiner Info meine Bedürfnise angepasst, jedoch bekomme ich nichts Ausgewertet.

PHP:
$db_selected = mysql_select_db('MEINE_DATENBANK', $link); 
if (!$db_selected) { 
    die ('Can\'t use mysql_database : ' . mysql_error()); 
} 

$queryString = "Select css_customer_database_4.field_18 from css_customer_database_4 where css_customer_database_4.field_18 like '%" . mysql_real_escape_string($suchwort) . "%'"; 

$result = mysql_query($query);

Ich denke es ist so richtig oder habe ich auf etwas vergessen?
 
Zurück