Il primo errore è possibile che derivi dal fatto che mysql, se stai su una macchina linux, non trovi corrispondenze tra i campi dato che li gestisce in modo case sensitive, ovvero su linux Order è diverso da ORDER ed è diverso da order

non ho guardato con attenzione al codice sql, quindi magari ci stanno altri problemi, però questa è la prima cosa che mi è venuta all'occhio