santa_oscuro Ответов: 0

Подзапрос в mysqli при повторных переменных а в С как


У меня есть подзапрос, который ищет все жанры, которые имеют определенную книгу, и запрос заставляет его найти все книги, которые имеют эти жанры подзапроса, и он создает подсчет времени, которое повторяет одни и те же книги, и создает новый столбец счетчика. Оставшийся упорядоченный запрос основан на книгах, которые повторяются больше или меньше.

Этот запрос работает, но проблема возникает, когда я пытаюсь вставить переменную в серверную часть с помощью mysqli. Я пытаюсь сделать это для ориентированных объектов, но это не возвращает результатов.

//I used asigned letters because you can understand better

$book = $get_id_book;                
$book = "%$book%";

$result = $link->prepare ("SELECT b.name, COUNT(name) AS duplicated, c.arxive, t.type, t.name_type
FROM Books b, Covers c, Types t, Genres_book g
WHERE b.id_book = c.id_cover_book AND
b.id_book = g.id_genre_book AND
g.id_book_genre IN ( SELECT id_book_genre
                      FROM Book b1, Genres_book g1
                      WHERE b1.id_book = g1.id_genre_book AND
                      b1.id_book IN (?)) AND
 NOT (b.id_book = ?)
 GROUP BY b.name
 ORDER BY duplicated DESC");

$result->bind_param('i', $book);

if($result->execute()){
   $result->bind_result($name, $duplicated, $arxive, $type, $name_type);
   while ($result->fetch()) {
    echo "....";
   }
}


Что я уже пробовал:

Ну, я искал весь пост, но ничего не получалось. Я пробовал регулярные выражения и подобия, но возвращает результаты, которые не исправить.

На
b1.id_book IN (?)
Я хочу что-то вроде этого:
b1.id_book IN like ?

Извините за мой английский, я в отчаянии и надеюсь, что кто-нибудь сможет мне помочь.

santa_oscuro

здесь я помещаю код, который работает. Я знаю, как использовать Like, но я говорю, что код работает, когда я пробовал на запрос базы данных, но на php, на изменение:

Скрыть   скопировать код

IN ( SELECT id_book_genre FROM Book b1, Genres_book g1 WHERE b1.id_book = g1.id_genre_book AND [b]b1.id_book LIKE ?[/b])AND NOT ([b]b.id_book Like ?[/b]) GROUP BY b.name ORDER BY duplicated DESC");$result->bind_param('ii', $book,$book);


Я попробовал без "AND NOT (b.id_book Like ?)" и только привязать 1 параметр, но оба возвращают 0 результатов... но если я попытаюсь в базе данных напрямую изменить "?" для чисел, то работает отлично.

0 Ответов