Problema con Select

Hola a todos
Tengo el siguiente problema
En una db, tengo una tabla llamada modelo, la cual tiene modelo_id y modelo_nombre
En un formulario me envía el modelo seleccionado por medio de un list/menu.
Entonces cuando recibo ese modelo, por medio de un select tengo que obtener el id del modelo seleccionado
Realize esta consulta pero no me muestra el id
include ("conexion.php");
$query_registro = "SELECT modelo_id,modelo_nombre FROM modelo WHERE modelo_nombre=$modelo";
$registro = mysql_query($query_registro, $enlace) or die(mysql_error());
(donde $modelo es el seleccionado)
Realizando un echo $registro['modelo_id']
mo me muestra el Id del modelo.
En lo posible, cualquier ayudita, vendría bien, trate cambiando la sintaxis, pero nada, no hay caso
Gracias de antemano
Saludos

1 Respuesta

Respuesta
2
No puedes acceder directamente de ese modo a un campo resultado de una consulta.
La función mysql_query permite ejecutar consultas SQL sobre la base de datos activa en ese momento pero no devuelve los resultados asociados o indexados en una matriz, devuelve lo que se conoce como "recurso" o "resource", es decir, una fuente de datos para poder trabajar con ella.
Para poder acceder al campo o campos que te interesen, previamente, debes aplicar alguna función como mysql_fetch_assoc.
Mysql_fetch_assoc te devuelve un vector donde cada posición está identificada por el nombre del campo y sus valores son los valores de los mismos; además, mediante un bucle sobre esa función puedes ir accediendo a todos y cada uno de los registros devueltos por la consulta, si hubiera varios.
El código, en tu ejemplo, quedaría así:
<?php
include ("conexion.php");
$query_registro = "SELECT modelo_id,modelo_nombre FROM modelo WHERE modelo_nombre=$modelo";
$registro = mysql_query($query_registro, $enlace) or die(mysql_error());
$fila=mysql_fecth_assoc($registro);
echo $fila['modelo_id'];
?>
Si existieran varios resultados posibles, como se dijo, puedes usar un bucle para pasar por las filas resultado:
<?php
include ("conexion.php");
$query_registro = "SELECT modelo_id,modelo_nombre FROM modelo WHERE modelo_nombre=$modelo";
$registro = mysql_query($query_registro, $enlace) or die(mysql_error());
while($fila=mysql_fecth_assoc($registro))
{
// Acciones a realizar, en nuestro caso, mostrar los id de los modelos
echo $fila['modelo_id'];
}
?>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas