我以前沒有遇到過這個。這裏的查詢:爲什麼這個查詢返回結果中的一部分?
$query="SELECT
CONCAT_WS(' ',
TRIM(SUBSTRING_INDEX(
SUBSTRING(document, 1, INSTR(document, 'Quickstart') - 1),
' ',
-8)
),'Quickstart',
TRIM(SUBSTRING_INDEX(
SUBSTRING(document, INSTR(document, 'Quickstart') + LENGTH('Quickstart')),
' ',
5)
)
)
FROM documents WHERE MATCH(document)
AGAINST('Quickstart' IN BOOLEAN MODE)";
而這裏的結果數組:
[0] => Array
(
[CONCAT_WS(' ',
TRIM(SUBSTRING_INDEX(
SUBSTRING(document, 1, INSTR(document, 'Quickstart') - 1),
' ',
-8)
),'Quickstart',
TRIM(SUBSTRING_INDEX(
S] =>
Quickstart for set up. 1. Register your
)
它返回的最後一部分似乎是正確的:
Quickstart for set up. 1. Register your
但爲什麼查詢自己回來了?這裏的PHP:
if (!$result = mysql_query($query)) send(mysql_error(),"e");
$hitArray=array();
while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) { $hitArray[]=$row; }
謝謝你看看。
一些解釋:當你執行一個查詢,查詢返回的關鍵領域的名稱在陣列中。在你的情況下,字段的名稱是'CONCAT_WS ....',因爲你沒有使用這個字段的別名,只是看看恩德諾的答案 – Sal00m 2014-08-29 08:41:31