Bueno, ya te digo que las dos soluciones son buenas.
Pensando he encontrado otra opcion: un registro con un campo. El campo seria TEXT (el mas grande). Funcionaria partiendo de la idea de que todas las opciones las vas a menjar en PHP como un array. Es decir, tendras un array con los distintos valores de las opciones y sera ese array lo que leas y modifiques. La idea seria serialazar ese array y guardarlo en base64 para que no haya problemas con caracteres raros. Por ejemplo;
Código PHP:
<?php
$opciones['Idioma']='Castellano';
$opciones['Fecha']=array('Formato'=>'%d-%m-%Y','GMT'=>1);
$opciones['Colores']=array('Color1'=>'0xff00ff','Color2'=>'0x0000ff','Color3'=>'0xf0f0ff');
$opciones['Numero']=1024;
//lo serializas (pasas a string)
$opciones_serializado=serialize($opciones);
//se codifica en base64
$opciones_base64=base64_encode($opciones_serializado);
// guardamos en la base de datos el valor
$sql="update opciones set opciones='$opciones_base64' where id=1'; // por ejemplo
?>
.
.
.
<?php
// si queremos recuperar el array de opciones
// supongo que en $row['opciones'] esta el campo
$opciones=unserialize(base64_decode($row['opciones']));
// ahora tienes en $opciones todas las opciones como en el array original
print_r($opciones);
?>
Este metodo es ideal de la muerte si quieres tener las opciones en un array con una estructura algo complicada (pesada de reconstruir campo a campo). Un inconveniente es que de esta forma estas obligado a leer y escribir todas las opciones juntas, es decir, si solo quieres usar un par de opciones, primero debes leer de BD todas las opciones y luego acceder al array. Y otro inconveniente es que de esta forma ocupa mas espacio. Al serializar el array se añade informacion de la estructura del array (haz un echo $opciones_serializado;) y despues con base64 se aumenta mas el tamaño.
Como todo en esto de la programacion, tienes multiples soluciones que funcionan, cada una con sus pros y sus contras. Debes analizar tu situacion y aplicar la que mas conveniente te parezca.
Saludos.
PD: Quien dice un array dice un objeto.