Foros del Web » Programando para Internet » PHP »

error en consulta

Estas en el tema de error en consulta en el foro de PHP en Foros del Web. Hola chicos echo una consulta a mi base de datos y me a estado dando estos errores no se que esta mas en la consulta ...
  #1 (permalink)  
Antiguo 15/09/2011, 09:06
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 14 años
Puntos: 1
error en consulta

Hola chicos echo una consulta a mi base de datos y me a estado dando estos errores no se que esta mas en la consulta les coloco el codigo a ver que hice mal ya que me a dado vueltas esto

consulta
Código PHP:
 function getMensajes($type 1$unread false ,$funread true,$sunread true){
    
$data = array();    
        
// MONITOR DE MENSAJES SOLO SI HAY MAS  DE 5 NUEVOS
        
if($type == 1) {
            
// SI HAY MAS DE 5 MENSAJES NUEVOS SOLO LEEMOS LOS NUEVOS
            
if($this->mensajes || $unread == true) {
                
$funread "AND mp_read_mon_to = 0";
                
$sunread "AND mp_read_mon_from = 0";
                
$limit "";
            } else {
                
$limit "LIMIT 5";
            }
             
$sql "SELECT mp_id, mp_to, mp_from, mp_read_to, mp_subject, mp_preview, mp_date, user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON mp_from = user_id WHERE mp_to = '{$this->User->uid}' AND mp_del_to = 0 {$funread}";
            
$sql .= "UNION";
            
$sql .="SELECT mp_id, mp_to, mp_from, mp_read_from, mp_subject, mp_preview, mp_date, user_name user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON mp_to = user_id WHERE mp_from = '{$this->User->uid}' AND mp_del_from = 0 AND mp_answer = 1 {$sunread}) ORDER BY mp_id DESC";
                    
// CONSULTA
            
$query $this->ejecutarConsulta($sql);
            
$data['total'] = 0;
            while(
$row $this->fetch_assoc($query)){
                
$row['mp_from'] = ($row['mp_from'] == $this->User->uid) ? $row['mp_to'] : $row['mp_from'];
                
$data['data'][$row['mp_date']] = $row;
                
// AHORA ACTUALIZAMOS PARA QUE NO SE VUELVAN A NOTIFICAR EN EL MONITOR
                
if($this->User->uid == $row['mp_to']) $update 'mp_read_mon_to = 1';
                else 
$update 'mp_read_mon_from = 1';
                
$this->update("u_mensajes","{$update}","mp_id = {$row['mp_id']}");
                
//
                
$data['total']++;
            }
            
$this->free($query);
        
// RESIBIDOS
        
} elseif($type == 2){
            
// MOSTRAR LOS NO LEIFOS
            
if($unread == true){
                
$funread "AND mp_read_to = 0";
                
$sunread "AND mp_read_from = 0";
            }
            
// CONSULTA
            
$sql "SELECT mp_id, mp_to, mp_from, mp_read_to, mp_subject, mp_preview, mp_date, user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON mp_from = user_id WHERE mp_to = '{$this->User->uid}' AND mp_del_to = 0 {$funread}";
            
$sql .= "UNION";
            
$sql .="SELECT mp_id, mp_to, mp_from, mp_read_from, mp_subject, mp_preview, mp_date, user_name user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON mp_to = user_id WHERE mp_from = '{$this->User->uid}' AND mp_del_from = 0 AND mp_answer = 1 {$sunread}) ORDER BY mp_id DESC";
            
$total $this->num_rows($this->ejecutarConsulta($sql));
            
$pages $this->Util->getPagination($total12);
            
$data['pages'] = $pages;
            
// CONSULTA
            
$query $this->ejecutarConsulta($sql.' LIMIT '.$pages['limit']);
            while(
$row $this->fetch_assoc($query)){
                
// PARA SABER SI ES RESPUESTA O MENSAJE NORMAL
                
$row['mp_type'] = ($row['mp_from'] != $this->User->uid) ? 2;
                
$row['mp_from'] = ($row['mp_from'] == $this->User->uid) ? $row['mp_to'] : $row['mp_from'];
                
$data['data'][$row['mp_date']] = $row;
            }
            
$this->free($query);
        
// ENVIADOS POR MI
        
}elseif($type == 3){
            
$sql "SELECT m.mp_id, m.mp_to, m.mp_read_to, m.mp_subject, m.mp_preview, m.mp_date, u.user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON m.mp_to = u.user_id WHERE m.mp_from = {$this->User->uid} ORDER BY m.mp_id DESC";
            
// PAGINAR
            
$total $this->num_rows($this->ejecutarConsulta($sql));
            
$pages $this->Core->getPagination($total12);
            
$data['pages'] = $pages;
            
// CONSULTA
            
$query $this->ejecutarConsulta($sql.' LIMIT '.$pages['limit']);
            while(
$row $this->fetch_assoc($query)){
                
$row['mp_type'] = 2;
                
$row['mp_from'] = $row['mp_to'];
                
$row['mp_read_to'] = 1;
                
$data['data'][$row['mp_date']] = $row;
            }
    
$this->free($query);
        
// RESPONDIDOS POR MI
        
}elseif($type == 4){
            
$sql "SELECT m.mp_id, m.mp_from, m.mp_read_from, m.mp_subject, m.mp_preview, m.mp_date, u.user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON m.mp_from = u.user_id WHERE m.mp_to = '{$this->User->uid}' AND m.mp_answer = 1 ORDER BY m.mp_id DESC";
            
// PAGINAR
            
$total $this->num_rows($this->ejecutarConsulta($sql));
            
$pages $this->Core->getPagination($total12);
            
$data['pages'] = $pages;
            
// CONSULTA
            
$query $this->ejecutarConsulta($sql.' LIMIT '.$pages['limit']);
            while(
$row $this->fetch_assoc($query)){
                
$row['mp_type'] = 1;
                
$row['mp_read_to'] = 1;
                
$data['data'][$row['mp_date']] = $row;
            }
            
$this->free($query);
        }
        
// ORDENAR Y RETORNAR
        
krsort($data['data']);
        return 
$data;
       
    } 
Errores que me da la consulta

Código PHP:
Warningmysql_free_result() expects parameter 1 to be resourceboolean given in C:xampphtdocsredsocial.comsystemdatabaseConexion_Mysql.php on line 404

Warning
krsort() expects parameter 1 to be array, null given in C:xampphtdocsredsocial.comappmodelosMensajes.php on line 221

Warning
mysql_free_result() expects parameter 1 to be resourceboolean given in C:xampphtdocsredsocial.comsystemdatabaseConexion_Mysql.php on line 404 
  #2 (permalink)  
Antiguo 15/09/2011, 12:02
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: error en consulta

intenta no usar mysql_free_result(), se supone que es automatico
krsort espera como parametro un array
if(is_array($data['data']))
krsort($data['data'])

Etiquetas: dbmysql, errorconsulta, phpmyframwork
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:31.