Для правильного вопроса надо знать половину ответа
Без текста ошибки непонятно, но подозреваю, что из-за неправильной передачи массива $arrayId.
К тому же, то, что вы написали, в принципе работать не будет. Вам вернутся данные только последнего выполненного запроса.
Для правильного вопроса надо знать половину ответа
Плейсхолдерами можно подставлять только значения. Названия колонок, таблиц, баз данных не подставляются.
P.S. А вообще, смотрите errno/error после каждой функции.
Для правильного вопроса надо знать половину ответа
Триггер в MySQL - это сохранённая процедура, вызываемая перед или после добавления, изменения или удаления строки в таблице. Триггер сохраняется в базе и привязан к конкретной таблице, по событию в которой срабатывает.
Для правильного вопроса надо знать половину ответа
Никак не убрать, это особенности представления чисел в компьютере.
Можно использовать какую-либо библиотеку арифметики произвольной точности, например big.js или переписать свои вычисления, чтобы оперировать только целыми числами.
Для правильного вопроса надо знать половину ответа
Транзакции тут не помогут, так как DROP TABLE/ALTER TABLE вызывают немедленный COMMIT.
Остаётся только менять саму процедуту обновления таблицы. Например так:
BEGIN TRANSACTION;
UPDATE `sh_prod_im` SET `updated` = 0;
Затем вставляем/обновляем строки:
INSERT
INTO `sh_prod_im` (`article`, ..., `updated`)
VALUES (:article, ..., 1)
ON DUPLICATE KEY UPDATE ..., `updated` = 1;
И удаляем необновлённые:
DELETE FROM `sh_prod_im` WHERE `updated` = 0;
COMMIT;
Для правильного вопроса надо знать половину ответа
Зависит от используемой СУБД. В MySQL PDO::lastInsertId возвращает автоинкрементальный id, добавленный последней операцией INSERT в текущем соединении с сервером MySQL.
Для правильного вопроса надо знать половину ответа
Кастомизация select/option очень сильно зависит от браузера, большинство css-свойств игнорируются браузерами, причём по разному. На практике проще использовать готовые обвязки наподобие select2 (требует jQuery).
Для правильного вопроса надо знать половину ответа
Как минимум, вы упустили вариант, когда сдачу со 100 можно сдать тремя купюрами по 25.
Гораздо эффективнее вначале посчитать количество купюр каждого номинала и оперировать с трёхэлементным массивом.
Да и без рекурсии можно обойтись, достаточно простого цикла.