MATCH(nombre, mat1, mat2, mat3, mat4, mat5, mat6, mat7)
作爲一個單一的索引字段,所以當一些文本匹配它時,它沒有一個工具來告訴你哪個位。
您仍然可以對陣充分擴散像這樣匹配的速度,並在字段列表(代替*
的SELECT
後)使用個人MATCH()
電話對每個域的檢查,以一定程度的相關性檢測哪個字段匹配。
SELECT
IF(MATCH(nombre) AGAINST ('search phrase' IN BOOLEAN MODE) > 0.9, nombre, NULL) AS nombre,
IF(MATCH(mat1) AGAINST ('search phrase' IN BOOLEAN MODE) > 0.9, mat1, NULL) AS mat1
/* etc */
FROM myTable
WHERE MATCH(nombre, mat1, mat2, mat3, mat4, mat5, mat6, mat7)
AGAINST ('search phrase' IN BOOLEAN MODE)
ORDER BY nombre
空值將被退回不匹配,你很可能希望在各個領域FULLTEXT
指標太,音符。如果我沒有記錯的話,使用BOOLEAN MODE
並不是絕對的要求。
$ busqueda =「'」; < - 導致錯誤,可能會轉儲查詢。如果是這樣,我有表名。然後,下一次:$ busqueda =「'); drop table [table name]; - 」; //我假設你正在擦洗這些SQL注入? – DampeS8N 2010-12-06 18:25:59