Foros del Web » Programando para Internet » PHP »

El MySQL me volvio loco.. HELP!!

Estas en el tema de El MySQL me volvio loco.. HELP!! en el foro de PHP en Foros del Web. Hola sres.... perdon la molesta pero la verda....siendoles sinceros...me volvi loco...forie en todo el mundo...y todos dicen lo mismo pero a mi no me funciona...el ...
  #1 (permalink)  
Antiguo 16/08/2010, 11:08
 
Fecha de Ingreso: agosto-2010
Mensajes: 10
Antigüedad: 14 años, 4 meses
Puntos: 0
El MySQL me volvio loco.. HELP!!

Hola sres.... perdon la molesta pero la verda....siendoles sinceros...me volvi loco...forie en todo el mundo...y todos dicen lo mismo pero a mi no me funciona...el error que me tira es el siguiente...

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\srvr\xampp\htdocs\guille\liquidaciones.php on line 298

y el codigo en cuestion es ->

Código PHP:
if($pagar != ""){
            
$sql_pagar="SELECT * FROM vendedores WHERE gerente = '$gerente' OR Id = '$gerente'";
            
$query_pagar=mysql_query($sql_pagar,$conexion) or die(mysql_error());        
            
            echo 
$sql_pagar."<br><br><hr>";        
            while(
$array_pagar=mysql_fetch_assoc($query_pagar) or die(mysql_error())){
            
$vendedor=$array_pagar[Id];
            
$sql_pagado="SELECT * FROM vendedores INNER JOIN
                  comisiones ON comisiones.Id_Vendedor = vendedores.Id
                  WHERE comisiones.pagado = '0' AND vendedores.Id = '$vendedor'"
;
            
$query_pagado=mysql_query($sql_pagado,$conexion);
            
            echo 
$sql_pagado."<br><br><hr>";    
            while(
$array_pagado=mysql_fetch_assoc($query_pagado)){
                
$update_pagar="UPDATE comisiones SET pagado = '1' WHERE Id_Vendedor = '$array_pagado[Id_Vendedor]' AND Orden = '$array_pagado[Orden]' AND pagado = '0'";
                echo 
$update_pagar."<br>";
                
$query_pagar=mysql_query($update_pagar,$conexion) or die(mysql_error());
            }
            }
            if(
$query_pagar != ""){
                echo 
"<center><font color='blue'>El pago de las comisiones ha sido registrado correctamente</b>.</font></center>";
            }
        
        } 
La linea que me informa con error es ->

Código PHP:
while($array_pagar=mysql_fetch_assoc($query_pagar) or die(mysql_error())){ 
Aca viene lo cmplicado....en todos los foros que vi coinciden en que la consulta de SQL esta mal hecha...pero la imprimi millones de veces y la ejecute en el SQL FRON T para encontrale algun error de sintaxis y nada che....no se....me estoy quemando las pestañas xD

Agradezco eternamente al que me de una luz de esperanza =)

Saludos.

Vaz
  #2 (permalink)  
Antiguo 16/08/2010, 11:38
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 10 meses
Puntos: 81
Respuesta: El MySQL me volvio loco.. HELP!!

Prueba con esto... ojo que cambie la variable $query_pagar (la ultima) por $query_upagar y todos los mysql_fetch_assoc por mysql_fetch_array

Código PHP:
if($pagar != ""){
    
$sql_pagar "SELECT * 
            FROM vendedores 
            WHERE gerente = '$gerente' 
            OR Id = '$gerente'"
;
    
$query_pagar mysql_query($sql_pagar) or die("Error mysql_query1(): ".mysql_error());

    echo 
$sql_pagar."<br><br><hr>";
    while(
$array_pagar mysql_fetch_array($query_pagar) or die("Error mysql_fetch_array1(): ".mysql_error())){
        
$vendedor $array_pagar['Id'];
        
$sql_pagado="SELECT * 
            FROM vendedores INNER JOIN comisiones ON comisiones.Id_Vendedor = vendedores.Id
            WHERE comisiones.pagado = '0' 
            AND vendedores.Id = '$vendedor'"
;
        
$query_pagado mysql_query($sql_pagado) or die("Error mysql_query2(): ".mysql_error());
        echo 
$sql_pagado."<br><br><hr>";
        while(
$array_pagado mysql_fetch_array($query_pagado) or die("Error mysql_fetch_array2(): ".mysql_error())){
            
$update_pagar="UPDATE comisiones 
                SET pagado = '1' 
                WHERE Id_Vendedor = '"
.$array_pagado['Id_Vendedor']."'
                AND Orden = '"
.$array_pagado['Orden']."'
                AND pagado = '0'"
;
            echo 
$update_pagar."<br>";
            
$query_upagar mysql_query($update_pagar) or die("Error mysql_query3(): ".mysql_error());
        }
    }
    if(
$query_upagar != ""){
        echo 
"<center><font color='blue'>El pago de las comisiones ha sido registrado correctamente</b>.</font></center>";
    }


Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 16/08/2010, 12:07
 
Fecha de Ingreso: diciembre-2007
Mensajes: 467
Antigüedad: 17 años
Puntos: 3
Respuesta: El MySQL me volvio loco.. HELP!!

Vazu:

La consulta:

$sql_pagar="SELECT * FROM vendedores WHERE gerente = '$gerente' OR Id = '$gerente'";

que es la consulta que en definitiva arroja el error, no tiene ningún defecto de sintaxis. No se me ocurre qué puede estar pasando, te hago una pregunta, estás considerando las mayúsculas y minúsculas para los campos gerente e Id?
Por otra parte, intentaste sustituir mysql_fetch_assoc por mysql_fetch_array o mysql_fetch_row ?



Federico


Federico
  #4 (permalink)  
Antiguo 16/08/2010, 12:12
 
Fecha de Ingreso: diciembre-2007
Mensajes: 467
Antigüedad: 17 años
Puntos: 3
Respuesta: El MySQL me volvio loco.. HELP!!

Vazu:

Acá $vendedor=$array_pagar[Id]; faltan comillas: $vendedor=$array_pagar["Id"];
  #5 (permalink)  
Antiguo 16/08/2010, 15:19
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: El MySQL me volvio loco.. HELP!!

Código PHP:
Ver original
  1. // Esta linea esta mal
  2. while($array_pagar=mysql_fetch_assoc($query_pagar) or die(mysql_error()))

Durante el ciclo while, el apuntador ira avanzando registro por registro en el juego de resultados, pero... al terminar devolvera falso, con lo que se ejecuta or die()
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 17/08/2010, 14:28
 
Fecha de Ingreso: agosto-2010
Mensajes: 10
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: El MySQL me volvio loco.. HELP!!

Salgo de la oficina y pruebo con las comillas y sacando el bendito "or die" ....

a lo que respecta remplazar el assoc por el array...yo uso originalmente el fetch array... pero lo reemplace por el assoc por que algo asi lei en otro foro...

les soy sincero...es la primera vez que un codigo me vuelve tan loco jhajajaja....todos tenemos una primera vez...les comento como me fue con los cambios...mil gracias por la ayuda!!
  #7 (permalink)  
Antiguo 17/08/2010, 16:46
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: El MySQL me volvio loco.. HELP!!

Cita:
Iniciado por vazu
a lo que respecta remplazar el assoc por el array...yo uso originalmente el fetch array... pero lo reemplace por el assoc por que algo asi lei en otro foro...
El uso de fetch_xxx (array, assoc, row) depende de tus gustos y/o necesidades:

mysql_fetch_row: Devuelve el resultado en forma de matriz no asociativa (numerica).
mysql_fetch_assoc: Devuelve el resultado en forma de matriz asociativa (campo => valor).
mysql_fetch_array: Puede devolver numerica, asociativa o ambas (default), depende de los parametros enviados.

Ninguna de las 3 afecta o mejora el rendimiento de las consultas ejecutadas, simplemente representan opciones para usar la que mejor se adapte a tus necesidades.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: loco, mysql
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 16:27.