Por que no le vas aumentando el tamaño, asi:
Código PHP:
$texto = array();
while($rows = mysql_fetch_array($consulta)){
$variable = $rows['palabra'];
array_push($texto, $variable);
}
o si no como deice pateketrueke, pero le agregas el indice asi:
Código PHP:
$texto = array();
$indice = 0; // o si quieres lo empiezas en 1
while ($row = mysql_fetch_array($rst)) {
$palabra = $row["palabra"];
$texto[$indice]= $palabra;
$indice++;
}