if( !empty( $books_ids ) )
{
$books_ids_in = implode(',', array_fill(0, count($books_ids), '?'));
$query = "SELECT
b.id,
b.`name`,
b.`year`,
GROUP_CONCAT(DISTINCT a.`name`) AS author_names,
GROUP_CONCAT(DISTINCT s.`name`) AS store_names
FROM
books AS b
LEFT JOIN books_authors AS b_a ON b.id = b_a.book_id
LEFT JOIN authors AS a ON a.id = b_a.author_id
LEFT JOIN books_stores AS b_s ON b.id = b_s.book_id
LEFT JOIN stores AS s ON s.id = b_s.store_id
WHERE
b.id IN (". $books_ids_in .")
GROUP BY b.id
ORDER BY b.id";
$stmt = $conn->prepare($query);
foreach ($books_ids as $k => $id) {
$stmt->bindValue(($k+1), $id);
}
$stmt->execute();
$results = $stmt->fetchAll();
}
< /code>
и, как я использую $ id book < /code> Для этой цели я хотел бы добавить некоторый параметр в результате, чтобы показать, что, например, param = " "
$query = "SELECT b.id, b.`name`, b.`year`, GROUP_CONCAT(DISTINCT a.`name`) AS author_names, GROUP_CONCAT(DISTINCT s.`name`) AS store_names FROM books AS b LEFT JOIN books_authors AS b_a ON b.id = b_a.book_id LEFT JOIN authors AS a ON a.id = b_a.author_id LEFT JOIN books_stores AS b_s ON b.id = b_s.book_id LEFT JOIN stores AS s ON s.id = b_s.store_id WHERE b.id IN (". $books_ids_in .") GROUP BY b.id ORDER BY b.id";
и, как я использую $ id book < /code> Для этой цели я хотел бы добавить некоторый параметр в результате, чтобы показать, что, например, param = " "[/code] для каждой строки. Есть ли способ сделать это?
Я заметил предложение «Подготовленные операторы PHP PDO предотвращают внедрение SQL».
Как php PDO (подготовленные операторы PDO) предотвращают внедрение SQL?
Каковы другие плюсы и минусы использования PDO (подготовленные операторы PDO)?
Снижает...
У меня есть выбор, который выводит несколько строк. Запрос работает, но мне нужно, чтобы я хочу вставить пользовательский столбец со значением в приведенный выше результат.
Я использую Codeigniter 3 с PostgreSQL. Запрос выглядит,
Недавно я наткнулся на код, к которому какое-то время не прикасался, но захотел его запустить. И это не удалось, хотя я почти уверен, что раньше это работало. Итак, я исследовал, и выяснилось: именно обработка транзакций изменилась с PHP 7.x на 8.x...
Я использую CodeIgniter для генерации некоторых результатов запроса, а затем на втором этапе использую цикл foreach для запуска метода, использующего значения из результата запроса. Теперь мне хотелось бы каким-то образом объединить новую переменную...