Holas McBlink
Pareciera que tienes una confusión con los conceptos: registros y campos...
Dentro de $ok lo que estás guardando es un registro, esto es, una fila compuesta de todos los campos que tú preguntaste en tu consulta sql. O sea, $ok es un array().
Si nos dices que has recibido 3 registros, entonces son 3 arrays(). En el primer ejemplo que diste, lo que estás mostrando es sólo el primer campo de cada registro.
En el segundo ejemplo, estás pisando por cada iiteración las variables $ok1, $ok2 y $ok3 con los valores de los respectivos campos del último registro leído.
Si quieres guardar en variables separadas cada uno de los registros, usa arreglos. Algo así:
Código PHP:
while( $ok = mysql_fetch_array($sql) )
{
$ok_guardado[$i] = $ok[0];
$i++;
}
Luego tendrás en el el array $ok_guardado el primer campo recibido de cada registro de la consulta.
Si tu consulta tiene más de un campo, entonces deberás guardarlo en un array() bidimensional.
Código PHP:
while( $ok = mysql_fetch_array($sql) )
{
$ok_guardado[$i][0] = $ok[0];
$ok_guardado[$i][1] = $ok[1];
$ok_guardado[$i][2] = $ok[2];
$i++;
}