Для правильного вопроса надо знать половину ответа
Перевод из RGB в Grayscale - это необратимая функция. Например, в телевизионном стандарте CCIR-601 она задана как Y = 0.299R + 0.587G + 0.114B, а в sRGB как Y = 0.2126R + 0.7152G + 0.0722B.
Для правильного вопроса надо знать половину ответа
По хорошему, все три запроса надо объединить в один, переписать с плейсхолдерами и проверять mysqli::$affected_rows или PDOStatement::rowCount после запроса. Так можно избежать состояния гонки.
Для правильного вопроса надо знать половину ответа
У вас JSON кривой, перед закрывающей скобкой стоит запятая.
Ну и функция print в JS - это по умолчанию Window.print(), печатающая текущую страницу в браузере.