non dipende dal php ma dalla configurazione di mysql. In particolare quello che dici e' regolato da SQL-MODE.
per l'id autoincrement devi mettere NULL al posto delle apici, mentre il numerico va senza apici e questo lo devi sapere tu perche' dipende dal tipo di campo usato nella tabella.
Ovviamente '' non equivalgono allo 0 in un campo numerico.