aqui hay algo que no me parece buena practica de programacion, ademas que no haces loops como dice david.
Código PHP:
$leer_unidad1_defensa1= mysql_query("SELECT defensa_fisica FROM objeto WHERE id= '$unidad1_atributos[unidad1_escudo]'");
cuando metas variables dentro de una cadena, encierralas entre llaves {} para facilitarle la tarea al parser, ademas, es peor practica hacer lo que haces cuando tratas con arrays asociativos , te recomendaria uses esto :
$var = "this is a string {$my_array['my_index']}";
si tu cadena esta encerrada entre comillas, encierra el indice del array entre apostrofes. o concatena las cadenas
$var = "this is a string " . $my_array['my_index'];
no comprometas la integridad de tu programa por la comodidad a la que nos tiene mal acostumbrados la mala programacion.
saludos.