Buenas,
Más normal que lo que tú comentas es poner dos campos, uno con el nombre y otro con un id (numeric auto-increment), de forma que en la inserción sólo indicas el nombre y el número se va incrementando automáticamente, empezando en 1. Es una herramienta que ofrecen todos los gestores de bases de datos para este tema, precisamente.
Si tienes una tabla con id_categoria y nombre_categoria puedes hacer lo siguiente:
Código PHP:
Ver original<?php echo "<option value=" . $row_categorias_select['id_categoria'] . ">" . $row_categorias_select['nombre_categoria'] . "</option>" ?>
De esta forma tus usuarios no tienen que ingresar nada dos veces, pero lo que para ellos es el identificativo de una categoría, para ti es sólo el nombre, ya que el id es un numérico (que luego es más fácil de manejar). Así es como suele hacerse.
En cuanto a tu problema, es bastante extraño, lo único que se me ocurre es que tu gestor de bases de datos interprete el espacio como otro dato o algo así. De forma que se te pone en el value la primer palabra del nombre y la segunda se ponga como un atributo diferente, como vemos en lo que has indicado. Lo que no sé es cómo se podría arreglar, el código lo veo bien, la verdad.
Un saludo.