Foros del Web » Programando para Internet » PHP »

MySql y comparacion

Estas en el tema de MySql y comparacion en el foro de PHP en Foros del Web. miren, tengo este codigo, y me saca un error, lo que necesito es hacer una comparcaión, para determinar si agrego unos valores o si estos ...
  #1 (permalink)  
Antiguo 15/09/2004, 15:36
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
MySql y comparacion

miren, tengo este codigo, y me saca un error, lo que necesito es hacer una comparcaión, para determinar si agrego unos valores o si estos ya existen decirlo

$resultado= mysql_query("SELECT producto FROM $tabla WHERE ((referencia='$referencia') and (marca = '$marca') and (estado = '$estado'))",$conexion);

if (mysql_fetch_row ($resultado) == false){
print "lo sentimos, ya existe un registro con la misma referencia";
}

el error que em saca es el siguiente:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\ios\img_agrega.php on line 22
lo sentimos, ya existe un registro con la misma referencia

espero me puedan ayudar, hasta pronto
__________________
SEO en Medellin
  #2 (permalink)  
Antiguo 15/09/2004, 15:42
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
ese warining es generado, como lo indica el error, cuando el argumento que le pasas a mysql_fetch_row() no es apropiado, es decir, no es un resultado de mysql. Muy probablemente lo que obtuviste es un error de mysql, y es lo que estas intentando pasar. Asegurate de que tu sentencia SQL se este ejecutando correctamente, ejecutala desde phpmyadmin o desde la consola de mysql directamente.

un saludo
  #3 (permalink)  
Antiguo 15/09/2004, 17:54
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
me sale que hay un error

bueno, me sale que hay un error pero no se como corregirlo, lo que me interesa hacer, es mirar si esos tres valores ya existen en esa tabla de ser asi, entonces que me salga un mensaje y si no existen, entonces, que me salga otro... como lo puedo hacer.

hasta pronto
__________________
SEO en Medellin
  #4 (permalink)  
Antiguo 15/09/2004, 20:15
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Lo que tienes que hacer es revisar que el sql generado sea el que esperabas. Para eso lo almacenas en una variable.
Código PHP:
//cadena sql
$sql "SELECT producto FROM $tabla WHERE ((referencia='$referencia') and (marca = '$marca') and (estado = '$estado'))";

//haces la consulta, si no se ejecuta, se detiene la ejecución del script y te muestra
//un mensaje de error con el sql generado.
$resultadomysql_query($sql$conexion) or die("Error en consulta: ".$sql."<br />"mysql_error()); 
Saludos
  #5 (permalink)  
Antiguo 15/09/2004, 21:25
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
no entiendo

la verdad no me queda muy claro que es lo que debo hacer, y menos, ¿Por Qué?, parece ser que el problema se genera es en la consulta SQL aunque yo no le veo nada malo... quizas ustedes si, ahora ustedes me dicen que tengo mirar si el sql generado si es el esperado... ¿que significa esto? el esperado por que. acaso cuando yo coloco el query no deberia simplemente hacer la consulta??

porfavor, necesito una pronta respuesta
__________________
SEO en Medellin
  #6 (permalink)  
Antiguo 15/09/2004, 23:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mafima .. usa el ejemplo de jpinedo y observa si el SQL que ahí se generó desde tus variables PHP es lo que debe ser.

Por lo demás .. deberías usar

mysql_num_rows() o COUNT() de Mysql (SQL) para ver si tu consulta SQL arrojó 1 o más registros de resultados en lugar de usar mysql_fetch_xxx() como un "booleano" así siempre te va a dar un error de ese tipo si la consulta SQL que ejecutes no arroja 1 o más resultados.

Un saludo,
  #7 (permalink)  
Antiguo 16/09/2004, 22:46
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
OK gracias

voy a probarlo asi.. hasta pronto
__________________
SEO en Medellin
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 03:05.