Pasar datos a una base de datos

Hola:
Tengo un problema, y en verdad espero y me puedas ayudar, el problema es el siguiente: quiero jalar datos de la base de datos mediante una lista menu o select eso ya lo puedo hace con el siguiente código:
<select name="nombre_pais">
<option selected>SELECCIONA PAIS</option>
<?
$reg = mysql_query('SELECT nombre_pais FROM pais');
while($reg=mysql_fetch_row($reg)){?>
<option value="<?=$reg[0]?>">
<?=$reg[0]?>
</option>
<? }?>
</select>
Pero después de realizar la consulta que ya me sale con el código anterior tengo que almacenar en otra tabla de la base de datos pero eso ya no me lo hace. Tengo el siguiente código con el que intento almacenar en la base de datos
$query = 'INSERT INTO registro_usuarios (clave, login, password, tipo_usuario, nombre_pais, nombre_ciudad, nombre_municipio, nombre_localidad)
VALUES (\''.$clave.'\',\''.$login.'\',\''.$password.'\',\''.$tipo_usuario.'\',\''.$nombre_pais.'\',\''.$nombre_ciudad.'\',\''.$nombre_estado.'\',\''.$nombre_localidad.'\')';
mysql_query($query) or die(mysql_error());
echo 'El usuario '.$login.' ha sido registrado de manera satisfactoria.
';
echo 'Ahora puede entrar ingresando su usuario y su password
';
Tengo que hacer lo mismo para ciudad, estado, localidad etc. Pero necesito que primero quede la primera. Por favor AyudA! No se como insertar

1 respuesta

Respuesta
1
Te recomiendo que la cadena del query la delimites con comillas dobles. Esto te permite usar variables dentro de la cadena que serán convenientemente interpretadas.
Prueba con la siguiente sentencia:
$query = "INSERT INTO registro_usuarios (clave, login, password, tipo_usuario, nombre_pais, nombre_ciudad, nombre_municipio, nombre_localidad) VALUES ('$clave','$login','$password','$tipo_usuario','$nombre_pais','$nombre_ciudad','$nombre_estado','$nombre_localidad')";
Y asegúrate que todas las variables tienen valor (al menos un espacio) o sino el INSERT fallará.
Hola, gracias por responder pero ya encontré el error, y era que estab mentiendo un campo que no ulizaba en la validación para insertar en todos los campos, sin embargo ahora tengo otro problema con ese mismo código, por que solo me recuper un registro de la base de datos, es decir si en la base tengo 5 ciudades solo me muestra 1, por favor ayudame...
De antemano gracias.
Tendría que ver el nuevo código para ver el error.
Hola
Pues no hay nuevo código sigo con el que te mostré anteriormente
<select name="nombre_pais">
<option selected>SELECCIONA PAIS</option>
<?
$reg = mysql_query('SELECT nombre_pais FROM pais');
while($reg=mysql_fetch_row($reg)){?>
<option value="<?=$reg[0]?>">
<?=$reg[0]?>
</option>
<? }?>
</select>
Pero no me jala de la base de datos más que un solo registro de la base de datos. No me había dado cuenta de este problema por que en la base de datos solo tenia un registro pero cuando inserte más me di cuenta que no los jalaba más que uno...
Gracias...
Hola
En mi correo me marco que me había llegado una respuesta tuya, pero veo que no hay nada...
Quería asegurarme si en verdad me habías enviado una respuesta... pues sigo atorada con el mismo problema
Gracias
Resulta que estás machacando la variable del recordset y por eso sólo funciona la primera vez. Debería ser:
<select name="nombre_pais">
<option selected>SELECCIONA PAIS</option>
<?
$reg = mysql_query('SELECT nombre_pais FROM pais');
while($fila=mysql_fetch_row($reg)){?>
<option value="<?=$fila[0]?>">
<?=$fila[0]?>
</option>
<? }?>
</select>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas