holas aviana segun veo esta todo correcto ya que nombre lo tienes definido en varchar de tamanio 30 y el que tienes definido longtext es descripcion y ese si acepta mas de 30 caracteres ahora si quieres que nombre sea mas de 30 aumentale el tamanio a tu varchar o ponle longtext
Código PHP:
$producto="create table `producto`(
`id_prod` VARCHAR(30) NOT NULL, //Aqui esta en varchar
`nombre` VARCHAR (30) NOT NULL, //Aqui esta en varchar
`descripcion` LONGTEXT, //Aqui en longtext
`precio` FLOAT (7,2) UNSIGNED NOT NULL,
`precio_promocion` FLOAT (7,2) UNSIGNED,
`promocion` INT(1),
`cosecha` VARCHAR(4),
`fecha_comercializacion` DATE,
PRIMARY KEY (`id_prod`)
)type=InnoDB;";
saludos, cya