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