Voc tem um erro de sintaxe no seu SQL prximo a 'ORDER BY cast(SUBSTRING( codigo, -2 ) as unsigned) de' na linha 15