Foros del Web » Programando para Internet » PHP »

problemas al ejecutar consultas

Estas en el tema de problemas al ejecutar consultas en el foro de PHP en Foros del Web. Hoal tengo un problemas con mi funtion en la db no me ejecuta las consultas function para ejecutar la consulta Código PHP: /** Para ejecutar consultas en la conexi�n abierta */          function  ...
  #1 (permalink)  
Antiguo 07/09/2011, 09:01
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 13 años, 11 meses
Puntos: 1
problemas al ejecutar consultas

Hoal tengo un problemas con mi funtion en la db no me ejecuta las consultas

function para ejecutar la consulta
Código PHP:
/** Para ejecutar consultas en la conexi�n abierta */    
    
function ejecutarConsulta($msql "") {
        if (
$msql == "") {    
            
$this->merror "No introdujo la sentencia SQL";    
            return 
false;    
        }
                
$msql strtolower$this->_removeAllQuotes($msql) );
                
                if ( 
preg_match"#(?:/\*|\*/)#i"$msql ) )
                {
                   die( 
"You are not allowed to use comments in your SQL query.\nAdd \ipsRegistry::DB()->allow_sub_select=1; before any query construct to allow them" );
                    return 
false;
                }
                if ( 
preg_match"#[^_a-zA-Z]union[^_a-zA-Z]#s"$msql ) )
                {
                    die( 
"UNION query joins are not allowed.\nAdd \ipsRegistry::DB()->allow_sub_select=1; before any query construct to allow them" );
                    return 
false;
                }
                                else if ( 
preg_match_all"#[^_a-zA-Z](select)[^_a-zA-Z]#s"$msql$matches ) )
                {
                    if ( 
count$matches ) > )
                    {
                        die( 
"SUB SELECT query joins are not allowed.\nAdd \ipsRegistry::DB()->allow_sub_select=1; before any query construct to allow them" );
                        return 
false;
                    }
                }
        
//ejecutamos la consulta        
        
$this->mid_consulta mysql_query($msql);        
        if (!
$this->mid_consulta) {        
            
$this->merror_numero mysql_errno();        
            
$this->merror mysql_error()." error";
            return 
false;        
        }                
        return 
$this->mid_consulta// Si todo salio bien regresa el id de la consulta    
    

consulta
Código PHP:
public function getTemas(){
$this->ejecutarConsulta("select * from w_temas where tid = '{$this->settings['tema_id']}' limit 1");
//
$data mysql_fetch_assoc($this->mid_consulta);
//
return $data;

error de la consulta
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in

espero puedan ayudarme en este problema
  #2 (permalink)  
Antiguo 07/09/2011, 09:04
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 15 años, 6 meses
Puntos: 26
Respuesta: problemas al ejecutar consultas

Probá:
Código SQL:
Ver original
  1. "select * from w_temas where w_temas.tid = '{$this->settings['tema_id']}' limit 1"
Aunque yo haría:
Código PHP:
Ver original
  1. $valor = "{$this->setting['tema_id']}"
Y luego:
Código SQL:
Ver original
  1. "select * from w_temas where w_temas.tid = '$valor' limit 1"
  #3 (permalink)  
Antiguo 07/09/2011, 09:13
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: problemas al ejecutar consultas

hace esto:
$sql =""select * from w_temas where w_temas.tid = '{$this->settings['tema_id']}' limit 1"";
echo $sql;
y pegalo en el phpmuadmin/sql
  #4 (permalink)  
Antiguo 07/09/2011, 09:15
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: problemas al ejecutar consultas

No me resulta :( el problema esta aqui

Código PHP:
Ver original
  1. function ejecutarConsulta($msql = "") {
  2.         if ($msql == "") { 
  3.             $this->merror = "No introdujo la sentencia SQL";   
  4.             return false;  
  5.         }
  6.                 $msql = strtolower( $this->_removeAllQuotes($msql) );
  7.                
  8.                 if ( preg_match( "#(?:/\*|\*/)#i", $msql ) )
  9.                 {
  10.                    die( "No se les permite usar los comentarios de la consulta SQL" );
  11.                     return false;
  12.                 }
  13.                 if ( preg_match( "#[^_a-zA-Z]union[^_a-zA-Z]#s", $msql ) )
  14.                 {
  15.                     die( "UNION consulta se une no se les permite." );
  16.                     return false;
  17.                 }
  18.                                 else if ( preg_match_all( "#[^_a-zA-Z](select)[^_a-zA-Z]#s", $msql, $matches ) )
  19.                 {
  20.                     if ( count( $matches ) > 1 )
  21.                     {
  22.                         die( "SUB consulta SELECT une no están permitidos." );
  23.                         return false;
  24.                     }
  25.                 }
  26.         //ejecutamos la consulta       
  27.         $this->mid_consulta = mysql_query($msql);      
  28.         if (!$this->mid_consulta) {    
  29.             $this->merror_numero = mysql_errno();      
  30.             $this->merror = mysql_error()." error";
  31.             return false;      
  32.         }              
  33.         return $this->mid_consulta; // Si todo salio bien regresa el id de la consulta 
  34.     }


Pero no se porq al quitar esto
Código PHP:
Ver original
  1. $msql = strtolower( $this->_removeAllQuotes($msql) );
  2.                
  3.                 if ( preg_match( "#(?:/\*|\*/)#i", $msql ) )
  4.                 {
  5.                    die( "No se les permite usar los comentarios de la consulta SQL" );
  6.                     return false;
  7.                 }
  8.                 if ( preg_match( "#[^_a-zA-Z]union[^_a-zA-Z]#s", $msql ) )
  9.                 {
  10.                     die( "UNION consulta se une no se les permite." );
  11.                     return false;
  12.                 }
  13.                                 else if ( preg_match_all( "#[^_a-zA-Z](select)[^_a-zA-Z]#s", $msql, $matches ) )
  14.                 {
  15.                     if ( count( $matches ) > 1 )
  16.                     {
  17.                         die( "SUB consulta SELECT une no están permitidos." );
  18.                         return false;
  19.                     }
  20.                 }

me ejecuta la consulta no se que estare haciendo mal

Etiquetas: consultadb, errormysql, phpframework
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 08:41.