Не мисля, че ще работи по този начин. Когато затворите изявлението (напр. $menu_stmt->close(); ) също така освобождавате манипулатора на оператора. Така че вторият път през цикъла вече нямате подготвени оператори, с които да работите.
Опитайте да затворите операторите, след като цикълът приключи изпълнението.