SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 14.08.2007, 16:09:13
HerrMeier HerrMeier ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 10
Can't find FULLTEXT index matching the column list

Hallo zusammen!
Ich habe hier ein Problem mit der Volltextsuche, das ich nicht in den Griff bekomme.
Über 10 Input-Felder können Zutaten eingegeben werden, die dann mit den Zutaten von gespeicherten Rezepten abgeglichen werden.
Das funktioniert auch soweit, wenn ich die Boolsche-Volltextsuche verwende.
Allerdings möchte ich keine Boolsche-Volltextsuche verwenden, weil dabei nicht automatisch nach absteigender Relevanz sortiert wird. Sobald ich aber "IN BOOLEAN MODE" aus der Abfrage entferne, bekomme ich kein Suchergebnis mehr, sondern die Fehlermeldung: "Can't find FULLTEXT index matching the column list".

PHP-Code:
    error_reporting(E_ALL); // alle Fehler anzeigen

    
@mysql_connect('localhost:8889''root''root') or die ("Keine Verbindung moeglich");
    
mysql_select_db("test") or die ("Die Datenbank existiert nicht");

    
$name    $_POST["name"];
    
$zutat1  $_POST["zutat1"];
    
$zutat2  $_POST["zutat2"];
    
$zutat3  $_POST["zutat3"];
    
$zutat4  $_POST["zutat4"];
    
$zutat5  $_POST["zutat5"];
    
$zutat6  $_POST["zutat6"];
    
$zutat7  $_POST["zutat7"];
    
$zutat8  $_POST["zutat8"];
    
$zutat9  $_POST["zutat9"];
    
$zutat10 $_POST["zutat10"];
    
$text    $_POST["text"];
    
$zeit    $_POST["zeit"];


    
$abfrage "SELECT * FROM rezepte 
                WHERE MATCH (zutat1,zutat2,zutat3,zutat4,zutat5,zutat6,zutat7,zutat8,zutat9,zutat10)
                AGAINST ('$zutat1*, $zutat2*, $zutat3*, $zutat4*, $zutat5*, $zutat6*, $zutat7*, $zutat8*, $zutat9*, $zutat10*')"
;
    
    
$resultat mysql_query($abfrage) or die (mysql_error());  //Abfrage durchführen


    
echo "<font size=1><br />";
    echo 
"<table border=none bgcolor=#d3d3d3>";

    while (
$row mysql_fetch_array($resultat)) // Sämtliche Datensätze durchlaufen und ausgeben
    
{    
      
extract ($row);      // Mithilfe der Feldbezeichnungen auf Feldinhalte zugreifen und diese ausgeben 
      
echo "<tr>
              <td width=250 height=30><a href=#><b>$name</b></a></td>
             <td width=100 height=30>$zutat1</td>
             <td width=100 height=30>$zutat2</td>
             <td width=100 height=30>$zutat3</td>
             <td width=100 height=30>$zutat4</td>
             <td width=100 height=30>$zutat5</td>
             <td width=100 height=30>$zutat6</td>
             <td width=100 height=30>$zutat7</td>
             <td width=100 height=30>$zutat8</td>
             <td width=100 height=30>$zutat9</td>
             <td width=100 height=30>$zutat10</td>
             <td width=250 height=30>$text</td>
             <td width=50  height=30>$zeit</td>
        </tr>"
;    
    }

    echo 
"</table>";
    echo 
"</font>"
Hab mal meine phpMyAdmin Konfiguration hochgeladen. Möglicherweise liegt der Fehler ja irgendwo in diesem FULLTEXT-Index.http://farm2.static.flickr.com/1231/...50d721.jpg?v=0

Vielen Dank schonmal!
Mit Zitat antworten
  #2  
Alt 14.08.2007, 16:32:25
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Can't find FULLTEXT index matching the column list

vielleicht statt

'$zutat1*, $zutat2*, $zutat3*, $zutat4*, $zutat5*, $zutat6*, $zutat7*, $zutat8*, $zutat9*, $zutat10*'

so:

'$zutat1*', '$zutat2*', '$zutat3*', '$zutat4*', usw

und zudem: ich dachte immer bei mysql sei % die wildcard.

Geändert von feuervogel (14.08.2007 um 16:33:07 Uhr)
Mit Zitat antworten
  #3  
Alt 14.08.2007, 16:39:33
HerrMeier HerrMeier ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 10
AW: Can't find FULLTEXT index matching the column list

Bringt leider nichts.
Ich dachte auch, dass man "%" als wildcard benutzt. Es funktioniert aber in meinem Fall nur mit "*" (zumindestens im BOOLEAN MODE).
Mit Zitat antworten
  #4  
Alt 14.08.2007, 20:12:28
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Can't find FULLTEXT index matching the column list

Zitat:
Zitat von HerrMeier Beitrag anzeigen
Bringt leider nichts.
Jo, bei der Fehlermeldung:
Zitat:
Can't find FULLTEXT index matching the column list
bringen Deine Hinweise wirklich nix. Wie sieht das CREATE TABLE aus?
Mit Zitat antworten
  #5  
Alt 14.08.2007, 20:27:04
HerrMeier HerrMeier ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 10
AW: Can't find FULLTEXT index matching the column list

Zitat:
Zitat von meikel Beitrag anzeigen
Wie sieht das CREATE TABLE aus?
Ich habe die Tabelle in phpMyAdmin erstellt (siehe Screenshot: http://farm2.static.flickr.com/1231/...50d721.jpg?v=0).
Ich weiß leider nicht ob/wie man sich den Quelltext dann im Nachhinein anzeigen lassen kann.
Mit Zitat antworten
  #6  
Alt 14.08.2007, 21:46:29
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Can't find FULLTEXT index matching the column list

Zitat:
Zitat von HerrMeier Beitrag anzeigen
Ich habe die Tabelle in phpMyAdmin erstellt (siehe Screenshot: http://farm2.static.flickr.com/1231/...50d721.jpg?v=0).
Ich weiß leider nicht ob/wie man sich den Quelltext dann im Nachhinein anzeigen lassen kann.
Wie soll/kann man Dir helfen, wenn der Screenshot schon wieder weg ist?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7  
Alt 14.08.2007, 22:18:10
HerrMeier HerrMeier ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 10
AW: Can't find FULLTEXT index matching the column list

Zitat:
Zitat von vt1816 Beitrag anzeigen
Wie soll/kann man Dir helfen, wenn der Screenshot schon wieder weg ist?
Da ist wohl irgendwas beim Link kopieren schief gelaufen. Hier ist er wieder: Tabelle
Mit Zitat antworten
  #8  
Alt 15.08.2007, 09:43:19
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Can't find FULLTEXT index matching the column list

So sieht ein mit PhpMyAdmin erstelltes CREATE TABLE aus (-> EXPORT):
Code:
-- 
-- Tabellenstruktur für Tabelle `phpbb_words`
-- 

CREATE TABLE `phpbb_words` (
  `word_id` mediumint(8) unsigned NOT NULL auto_increment,
  `word` varchar(255) NOT NULL default '',
  `replacement` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`word_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Kannste auch selber machen:
PHP-Code:
# Login und DB Select haste schon gemacht

$tabelle 'tabelle';
$sql sprintf("SHOW CREATE TABLE `%s` "$tabelle);
$res mysql_query($sql) or die( mysql_error());
$row mysql_fetch_assoc($res);
echo 
'<pre>'$row['Create Table'], '</pre>'
Mit Zitat antworten
  #9  
Alt 15.08.2007, 11:01:19
HerrMeier HerrMeier ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 10
AW: Can't find FULLTEXT index matching the column list

Danke für den Tipp!
Also folgendermaßen sieht mein CREATE TABLE aus:

Code:
CREATE TABLE `rezepte` (
  `ID` int(11) NOT NULL auto_increment,
  `name` tinytext character set utf8 NOT NULL,
  `zutat1` tinytext character set utf8 NOT NULL,
  `zutat2` tinytext character set utf8 NOT NULL,
  `zutat3` tinytext character set utf8 NOT NULL,
  `zutat4` tinytext character set utf8 NOT NULL,
  `zutat5` tinytext character set utf8 NOT NULL,
  `zutat6` tinytext character set utf8 NOT NULL,
  `zutat7` tinytext character set utf8 NOT NULL,
  `zutat8` tinytext character set utf8 NOT NULL,
  `zutat9` tinytext character set utf8 NOT NULL,
  `zutat10` tinytext character set utf8 NOT NULL,
  `text` text character set utf8 NOT NULL,
  `zeit` smallint(11) unsigned NOT NULL,
  PRIMARY KEY  (`ID`),
  FULLTEXT KEY `zutaten` (`name`,`zutat1`,`zutat2`,`zutat3`,`zutat4`,`zutat5`,`zutat6`,`zutat7`,`zutat8`,`zutat9`,`zutat10`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
Da ich gerade erst angefangen habe mit PHP und MySQL kann es auch sein, dass der Fehler nicht im Detail liegt, sondern irgendwas prinzipiell falsch ist. Allerdings funktioniert die Suche im Boolschen Modus.
Nochmals Danke für jede Hilfe!
Mit Zitat antworten
  #10  
Alt 15.08.2007, 23:52:27
HerrMeier HerrMeier ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 10
AW: Can't find FULLTEXT index matching the column list

Habe den Fehler endlich gefunden:
In meinem FULLTEXT-Index war ein Spaltenname ("name"), der nicht in der SELECT-WHERE- MATCH-AGAINST-Abfrage enthalten war.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:35:54 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt