Нашел решение. Кому интересно на питоне mysql.connector нужно делать коммит после каждого селекта (раньше думал это только для изменений, да и в мануале написано что коммит для изменений, но по факту оказалось для селекта тоже).
Мне кажется тут проблема не при вносе данных в базу, а при выдаче.
Где-то htmlspecialchars_decode срабатывает или что-то типа того.
Если в самой базе посмотреть, данные туда вбиваются с отработанным htmlspecialchars или как есть? <script> код prompt("92923") код</script>
Такая запись в самой БД?
<script> код prompt("92923") код</script>gt;