Так что я боролся с этим последние пару дней .. У меня есть музыкальные жанры. Отдельно от первичных и вторичных колоний. Rock/Progressive rock и т. Д. И у меня есть так, что он будет искать один столбец, просто отлично. Но я бы хотел, чтобы он искал либо colum. поиск помощи в Google. Я обнаружил, что поиск в теории FULLTEXT в теории должен сделать это. Я устанавливаю индекс FULLTEXT как для первичного, так и для вторичного столбцов. Но я не смог заставить его работать.FULLTEXT Поиск нескольких столбцов в MySQL?
это мой код, который работает для одной колонки:
$query = sprintf("SELECT * FROM musicgenres WHERE secondary LIKE '%%%s%%' LIMIT 20", mysql_real_escape_string($_GET["q"]));
$arr = array();
$rs = mysql_query($query);
while($obj = mysql_fetch_object($rs)) {
$arr[] = $obj;
}
$json_response = json_encode($arr);
if($_GET["callback"]) {
$json_response = $_GET["callback"] . "(" . $json_response . ")";
}
$final = str_replace(genre_id, id, $json_response);
echo $final;
(Он возвращает результаты в формате JSON)
Я пытался следовать этому учебнику я обнаружил, что дает это в качестве примера:
$term = "Search Term";
$sql = "SELECT *, MATCH(title, content) AGAINST('". $term ."') as score FROM pages WHERE MATCH (title, content) AGAINST('". $term ."') ORDER BY score DESC";
$query = mysql_query($sql);
вопрос кажется либо в запросе SELECT. или когда я его совмещаю. это вызывает ошибку с этой линии:
while($obj = mysql_fetch_object($rs)) {
самый последний запрос Select я попытался было:
$term = mysql_real_escape_string($_GET["q"]);
$sql = "SELECT *, MATCH(primary, secondary) AGAINST('". $term ."') as score FROM musicgenres WHERE MATCH (primary, secondary) AGAINST('". $term ."') ORDER BY score DESC";
я также попытался с: '%% %%% s' LIKE (который будет быть более полезным, поскольку частичные совпадения были бы хороши)
в любом случае. если у вас есть какие-либо советы, которые могли бы мне помочь, я бы его оценил .. спасибо ... Dev
Какую ошибку он вернется? попробуйте запрос непосредственно на mysql, как в phpmyadmin, попробуйте использовать mysql_fetch_array –
Ошибка: Предупреждение: mysql_fetch_object(): предоставленный аргумент не является допустимым ресурсом результата MySQL в C: \ Web Pages \ PHP \ GenreTest.php в строке 29 [] – Dev
Строка 29: while ($ obj = mysql_fetch_object ($ rs)) { – Dev