Det enda sättet som felet (du visar) skapas på är om du har detta i din fråga:
select id , `0` as choice from test ;
---^ ^------
------------ notice the backticks there
Gör det:
select id , 0 as choice from test ;
och frågan är giltig och MySQL ger inget fel.
Om du vill att en sträng returneras i PHP (som om choice kolumn i en CHAR() eller VARCHAR() kolumn) och du vill ha konsekventa resultat från de två varianterna av frågan, använd sedan enkla citattecken:
select id , '0' as choice from test ;