El error esta en php no en la sentencia sql que como tu mismo dices si se ejecuta en mysql funciona.
Cita: El código solo se ejecuta una vez por recarga de la página.
Yo pondria en duda esta afirmación e investigaria el codigo php... pregunta en el foro de php pero dales mas información por que con lo que muestras dificilmente te podran decir mas que yo....