Foros del Web » Programando para Internet » PHP »

Error "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result r"

Estas en el tema de Error "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result r" en el foro de PHP en Foros del Web. Hola tengo un problema con este Script Debo de conectar a 3 diferentes usuarios a distintas paginas --------------------------------------------------------------------- <?php session_start(); //datos para establecer la conexion ...
  #1 (permalink)  
Antiguo 27/02/2012, 15:45
 
Fecha de Ingreso: febrero-2012
Ubicación: Mexico
Mensajes: 4
Antigüedad: 6 años, 8 meses
Puntos: 0
Pregunta Error "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result r"

Hola tengo un problema con este Script

Debo de conectar a 3 diferentes usuarios a distintas paginas
---------------------------------------------------------------------
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root','root')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('gtech')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, usuario FROM usuario_frm WHERE usuario=\''.$usuario.'\'');
$result2 = mysql_query('SELECT password, usuario FROM administrador_frm WHERE usuario=\''.$usuario.'\'');
$result3 = mysql_query('SELECT password, usuario FROM usuario_gtech WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="../frm/usu_frm.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php ?>
Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "../frm/usu_frm.php";
</SCRIPT>
<?
}else{
echo 'Password incorrecto';
}
}else{
if($row = mysql_fetch_array($result2)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="../frm/admon_frm.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php ?>
Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "../frm/admon_frm.php";
</SCRIPT>
<?
}else{
echo 'Password incorrecto';
}
}
}else{
if($row = mysql_fetch_array($result3)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="../gtech/index.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php ?>
Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "../gtech/index.php";
</SCRIPT>
<?
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
mysql_free_result($result2);
mysql_free_result($result3);
}
}
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>

------------------------------------------------------------------------------------
si lo tengo en una sola carpeta no hay problema pero cuando lo separo por carpetas me marca el siguiente error

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\gtech\control\validar_usuario.php on line 23

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\gtech\control\validar_usuario.php on line 53
Usuario no existente en la base de datos
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\gtech\control\validar_usuario.php on line 70

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\gtech\control\validar_usuario.php on line 72

No se ke pasa AYUDA!!!!!!!!!!!!!!
  #2 (permalink)  
Antiguo 27/02/2012, 16:48
 
Fecha de Ingreso: agosto-2011
Mensajes: 110
Antigüedad: 7 años, 2 meses
Puntos: 13
Respuesta: Error "Warning: mysql_fetch_array(): supplied argument is not a valid MySQ

no he entendido bien lo de "cuando lo separo por carpetas" ¿Qué es lo que separas?, he intentado seguir el código pero se me ha hecho algo dificil al estar todo pegado a la izquierda, de todas formas si dices que al tenerlo en una sola carpeta te funciona... solo puedo esperar a entender que es lo que separas porque a lo mejor el error no es en lo que esta en el código.

Ten en cuenta que el primer error te lo da en la fila 23 por lo que es la primera consulta la que no te esta dando resultados validos. Deberias comprobar que la consulta ha dado algun resultado usando por ejemplo (if (mysql_num_rows($result) > 0) echo "hay resultado";
  #3 (permalink)  
Antiguo 27/02/2012, 17:10
 
Fecha de Ingreso: febrero-2012
Ubicación: Mexico
Mensajes: 4
Antigüedad: 6 años, 8 meses
Puntos: 0
Respuesta: Error "Warning: mysql_fetch_array(): supplied argument is not a valid MySQ

Cita:
Iniciado por bray Ver Mensaje
no he entendido bien lo de "cuando lo separo por carpetas" ¿Qué es lo que separas?, he intentado seguir el código pero se me ha hecho algo dificil al estar todo pegado a la izquierda, de todas formas si dices que al tenerlo en una sola carpeta te funciona... solo puedo esperar a entender que es lo que separas porque a lo mejor el error no es en lo que esta en el código.

Ten en cuenta que el primer error te lo da en la fila 23 por lo que es la primera consulta la que no te esta dando resultados validos. Deberias comprobar que la consulta ha dado algun resultado usando por ejemplo (if (mysql_num_rows($result) > 0) echo "hay resultado";
ha lo de separarlo por carpetas es ke tengo una que se llama control, y ahi meto el validar_usuario.php y el index lo dejo en la raiz, pero ya me quedo era un poco de error en las variables en la BD y el script, no eran iguales, pero agradezco tu comentario, ya pase todo de nuevo a la raiz y modifique la BD y ya quedo, gracias

Etiquetas: html, mysql, result, warning, usuarios
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 19:36.