Группировка, запрос сразу в 5 таблиц

SELECT n.id, n.title, n.comment, \
       p.title_p, p.id_p, \
       c.title as title_b, c.id as c_id, \
        u.name, \
        COUNT(h.id) AS kl \
FROM news n \
LEFT JOIN blog c ON n.parent = c.id \
LEFT JOIN user u ON u.id = c.id_u \
LEFT OUTER JOIN list p ON n.p_id = p.id\
LEFT JOIN  history as h ON h.id = n.id  \
WHERE n.approve = 1 \
GROUP BY n.id

Все хорошо, индексирует успешно. Но в php

$stmt = $mnt->query("SELECT * FROM `indexnews` WHERE MATCH('bhop')");
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 table indexnews: parse error: P09: syntax error, unexpected TOK_IDENT, expecting $end near '' in

Пробовал по разному выставлять кавычки, не выходит.
Все работает, ошибка возникает именно тогда когда индекс сгенерирован с таблицей
LEFT JOIN history as h ON h.id = n.id \

Пытаюсь подсчитать сколько в ней записей по каждой новости.

  sql_query   = SELECT n.*, \
					SUM(CASE WHEN h.time >= UNIX_TIMESTAMP() - 86400 THEN 1 ELSE 0 END) AS 24_hours,\
              		SUM(CASE WHEN h.time >= UNIX_TIMESTAMP() - 2419200 THEN 1 ELSE 0 END) AS 1_month\
				FROM news AS n\
                LEFT JOIN history as h ON h.id = n.id \
                WHERE n.approve = 1 \
                GROUP BY n.id

Все тоже самое, если к mysql отправляю запрос. Все работает, если создаю индекс, индекс успешно создается. А вот выбрать из него записи, увы, что та с токеном…

Не повторяется:

➜  ~ cat test_pdo.php
<?php
$mnt = new PDO('mysql:host=127.0.0.1;port=9306;');
$mnt->exec("DROP TABLE IF EXISTS indexnews");
$mnt->exec("CREATE TABLE indexnews");

try {
    $stmt = $mnt->query("SELECT * FROM `indexnews` WHERE MATCH('bhop')");
    $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
    var_dump($results);
} catch (Throwable $e) {
    echo $e->getMessage() . PHP_EOL;
}

➜  ~ php test_pdo.php
array(0) {
}

Для чего удалять индекс, а затем вновь его создавать?

Вероятно проблема в том, что поля которые созданы 24_hours и 1_month имеют не тот тип. Были созданы, но мантикоре записала их как строчкой…

SELECT title FROM indexnews WHERE MATCH('@title bhop')

Запрос работает, но если необходимо также достать созданное поле, в котором количество записей из второй таблицы

SELECT 24_hours, title FROM indexnews WHERE MATCH('@title bhop')

Тогда ошибка, пробовал числа из имени ново созданных полей убрать, не помогает…

Для того, чтобы продемонстрировать на самодостаточном примере.

Тогда ошибка, пробовал числа из имени ново созданных полей убрать, не помогает…

Приведите самодостаточный пример, начиная с create table.

Очень странно, все работает. Не знаю почему так, удалил поле в таблице которое ни как не затрагивал в конфиге, больше ничего не делал. Разве что убрал цифры из имени полей.

Сейчас все работает, даже без ``

Разве пробелы перед слешем добавил, в переносах строк. Некоторые в плотную были, больше ничего не трогал…