Это может помочь, так как у меня были проблемы с этим для любого в будущем, обратите внимание, что кавычка устанавливает тип 'blob', когда sprintf вводит каждую строку, генерируемую функциями кавычек. Ключевая часть, кажется, использует «file: //» со ссылкой на файл для его работы таким образом.
$ database - это объект mdb2, как это обычно делается в других примерах в Интернете.
// ПРИМЕЧАНИЕ НИЖЕ: функция цитаты или нижние уровни - требуется ссылка на файл, как показано ниже
// Я не мог передать необработанные байты, которые по какой-то причине находились в переменной, так как
// появился метод кавычек для изменения байтов - может быть, он предполагает кодировку?
$sql = 'UPDATE %s SET %s=%s WHERE iconid=%d';
$sql = sprintf ($sql,
$database->quoteIdentifier('chanicon'),
$database->quoteIdentifier('icondata'),
$database->quote("file://".$_FILES['userfile']['tmp_name'][0], 'blob'),
$database->quote($_REQUEST['iconid'], 'integer')
);