Foros del Web » Programando para Internet » PHP »

Problema con SQL select

Estas en el tema de Problema con SQL select en el foro de PHP en Foros del Web. Hola a todos, estoy haciendo un pequeño proyecto, en si es un inventario pero tengo problemas al querer mostrar un dato de una tabla, lo ...
  #1 (permalink)  
Antiguo 07/02/2012, 11:45
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Pregunta Problema con SQL select

Hola a todos, estoy haciendo un pequeño proyecto, en si es un inventario pero tengo problemas al querer mostrar un dato de una tabla, lo que tengo es lo siguiente:

Código:
$codigo = $_POST['Codigo'];

$productos = mysql_query("SELECT Codigo from Productos where Codigo='".$codigo."' ");

echo 'la cantidad es' . $productos;
y me imprime
Código:
 la cantidad esResource id #5
Y yo solo requiero que imprima:

la cantidad es 5

Sin el "Resource id #"


Espero su ayuda, Muchas gracias.
  #2 (permalink)  
Antiguo 07/02/2012, 11:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema con SQL select

La función mysql_query() sólo se encarga de ejecutar una consulta y no de devolver resultados.

Para eso necesitas extraer los valores del puntero que te devuelve la consulta, he ahí el significado de los #Resource.

http://php.net/mysql_fetch_row
http://php.net/mysql_fetch_array
http://php.net/mysql_fetch_assoc
http://php.net/mysql_fetch_object

Te sugiero consultar un manual, o bien las FAQ's del foro de PHP, ahí se explica bastante del tema.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/02/2012, 12:04
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Problema con SQL select

Si te refieres a contar los registros asociados a ese código, puedes usar count(Codigo) y con php recuperar ese valor con la función mysql_result

Resource id #5 (El 5 no tiene nada que ver con la cantidad)

http://php.net/manual/es/function.mysql-result.php

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 07/02/2012, 12:06
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 3 meses
Puntos: 8
Respuesta: Problema con SQL select

Hola!
mysql_query() te devuelve una variable de tipo resource, no el contenido del resultado de la consulta. Este resource, "apunta" a un resultado, que tenes que recorrer con otras funciones mysql_*, como por ejemplo mysql_fetch_object() o mysql_fetch_array()


Código PHP:
Ver original
  1. $fila= mysql_fetch_object($productos);
  2. echo $fila->codigo;


Mira si queres la documentacion...
http://ar2.php.net/manual/es/functio...tch-object.php
Ahi vas a ver que generalmente mysql_fetch_object se usa con un while cuando la consulta devuelve muchos resultados, aunque en este caso no importa porque supongo que siempre te trae una fila..

Saludos!
  #5 (permalink)  
Antiguo 07/02/2012, 13:24
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Pregunta Respuesta: Problema con SQL select

Gracias a todos por sus respuestas pero creo que mi pregunta fue mal formulada o bien soy muy bruto para entenderlas, miren.

tengo la siguiente tabla Productos:
_____________________
id | Nombre | Codigo|Stock|
__|_______|______|____|
1 |goma | 222 | 5 |
__|_______|______|____|
2 | lapiz | 333 |8 |
__|_______|______|____|

Mi idea es que al ingresar el Código por medio de un $_post me de como resultado el Stock.

Por ejemplo ingreso el código 222 y que me diga 5.

Bueno desde ya muchas gracias.
  #6 (permalink)  
Antiguo 07/02/2012, 13:35
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Problema con SQL select

Un ejemplo:

Código PHP:
Ver original
  1. <?php
  2. $codigo = 222;
  3.  
  4. $c = mysql_connect('localhost', 'root', '12345');
  5. $sql = "select stock from productos where codigo = $codigo";
  6. $res = mysql_query($sql) or die('Error: ' . mysql_error());
  7. echo 'la cantidad es ' . mysql_result($res, 0); //la cantidad es 5
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 07/02/2012, 13:52
 
Fecha de Ingreso: febrero-2012
Mensajes: 61
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Problema con SQL select

Cita:
Iniciado por andresdzphp Ver Mensaje
Un ejemplo:

Código PHP:
Ver original
  1. <?php
  2. $codigo = 222;
  3.  
  4. $c = mysql_connect('localhost', 'root', '12345');
  5. $sql = "select stock from productos where codigo = $codigo";
  6. $res = mysql_query($sql) or die('Error: ' . mysql_error());
  7. echo 'la cantidad es ' . mysql_result($res, 0); //la cantidad es 5
Andrés muchas gracias, me funciono!!!!

Etiquetas: mysql, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:18.