Foros del Web » Programando para Internet » PHP »

PHP Warning: mysql_fetch_array(): supplied argument is not

Estas en el tema de PHP Warning: mysql_fetch_array(): supplied argument is not en el foro de PHP en Foros del Web. QUIERO QUITAR ESOS WARNINGS, COMO PUEDO QUITARLOS.... PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D <?php include("utils/Usuarios.php"); $es = ...
  #1 (permalink)  
Antiguo 03/12/2008, 18:16
 
Fecha de Ingreso: diciembre-2008
Ubicación: Mexico DF
Mensajes: 30
Antigüedad: 15 años, 4 meses
Puntos: 0
PHP Warning: mysql_fetch_array(): supplied argument is not

QUIERO QUITAR ESOS WARNINGS, COMO PUEDO QUITARLOS....

PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D

<?php
include("utils/Usuarios.php");

$es = new Usuarios();
$es -> SetIdusuario ();

{
$usuario = strtolower(htmlentities($_POST["idusuario"], ENT_QUOTES));
$password = $_POST["contrasenia"];
$result = mysql_query('SELECT idusuario, contrasenia, FROM usuarios WHERE idusuario= idusuario\''.$es->_idusuario.'\'');
if($row = mysql_fetch_array($result)){/////////////////AQUI WARNING
if($row["contrasenia"] == $contrasenia){
$_SESSION["idusuario"] = $row['idusuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_idusuario'].' <p>';
echo '<SCRIPT LANGUAGE="javascript">
location.href = "header.php";
</SCRIPT>';

}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);/////AQUI WARNING
}

?>

Y ESTA BIEN MI QUERY

('SELECT idusuario, contrasenia, FROM usuarios WHERE idusuario= idusuario\''.$es->_idusuario.'\'');

O TIENE ALGUN ERROR
  #2 (permalink)  
Antiguo 03/12/2008, 18:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PHP Warning: mysql_fetch_array(): supplied argument is not

compruébalo así ....

Código PHP:
mysql_query(/* SQL */) or die(mysql_error()); 
si te sale algún error, es por eso... nos avisas, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/12/2008, 00:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 94
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: PHP Warning: mysql_fetch_array(): supplied argument is not

Debe ser:

('SELECT idusuario, contrasenia FROM usuarios WHERE idusuario= \''.$es->_idusuario.'\'');

y sí, haz lo que te dice el compañero de arriba. Yo lo que suelo hacer es guardar el query en una variable y hacer lo siguiente:

$query = "SELECT idusuario, contrasenia FROM usuarios WHERE idusuario = '".$es->_idusuario."' ");
$resultado = mysql_query($query) or die ("Error al consultar base de datos: ".mysql_error()."<br />Consulta: ".$query);

De esa manera puedo ver tanto el error como la consulta que lo generó tal como se le mandó a mysql. Eso hace mucho más fácil la depuración.
  #4 (permalink)  
Antiguo 04/12/2008, 05:03
 
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: PHP Warning: mysql_fetch_array(): supplied argument is not

Estoy de Acuerdo con los que han respondido, tendrias que mejorar la depuracion de errores, lo mas probable es que el error se este propagando.
Aislalo comentando lineas hasta llegar a lo mas basico (y que no tire errores) y ahi empezas de nuevo a descomentar hasta encontrar el punto exacto de error.


Salu2
Javier
  #5 (permalink)  
Antiguo 05/12/2008, 07:50
Avatar de craftyman  
Fecha de Ingreso: julio-2008
Mensajes: 8
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: PHP Warning: mysql_fetch_array(): supplied argument is not

Saludos jaffa, si tu pregunta era como quitar los warnings, bueno para que no aparescan estos mensajes en PHP, la solucion es la siguiente:

Código PHP:
error_reporting(E_ALL|E_STRICT);
ini_set('display_startup_errors'0);
ini_set('display_errors'0); 
Esto hara que no salgan ninguna de las alertas en PHP.

Por otro lado viendo tu codigo una simple solucion seria que antes que lances la funcion
Código PHP:
if($row mysql_fetch_array($result)){/////////////////AQUI WARNING 
hagas una consulta de filas
Código PHP:
if(mysql_num_rows($result)==1)
{
    
$row mysql_fetch_array($result)

La solucion para el free_result, serie que preguntes si es un recurso:

Código PHP:
if(is_resource($result))
{
    
mysql_free_result($result);

Una recomendacion a la hora que desarrolles es que no mezlces el codigo html en codigo PHP, es muy ilegible.
Para el location.href puedes usar la funcion php:

Código PHP:
header('location: home.php'); 
Saludos.
craftyman.net
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:23.