'INSERT INTO URLTABLE set ? where ID = ?'
Você esqueceu de mencionar os nomes das colunas que deseja "SET".
'INSERT INTO URLTABLE SET column_name = ? (, column_name2 = ?,...) WHERE ID = ?'
é a sintaxe correta
EDITAR:
Observe que é sempre melhor "padronizar" suas consultas SQL, nesse caso é melhor você usar a sintaxe SQL padrão abaixo para um INSERT (em vez de usar sua sintaxe MySQL específica):
INSERT INTO URLTABLE (a, b, c) VALUES (?,?,?)