Ошибка возникает, когда Вы пытаетесь вставить данные, которые не ожидаются в столбце.
Если Вы проверили и все должно быть нормально, но не работает то можно попробовать:
Изменить кодировку данных, которые Вы хотите вставить в базу:
$encoding = mb_detect_encoding($html); if ($encoding !== 'UTF-8') { $html = mb_convert_encoding($html, 'UTF-8', $encoding); echo 'changed the encoding' . PHP_EOL; }
Если не помогло, то в самом запросе нужно выполнить CAST :
UPDATE `table` SET `html` = CAST(? AS BINARY) WHERE `id` = ?
Приводить к типу, который Вам подходит.