Foros del Web » Programando para Internet » PHP »

Problema con consulta sql

Estas en el tema de Problema con consulta sql en el foro de PHP en Foros del Web. Que tal amigos del foro les vengo a plantear un problemita que estoy teniendo con una consulta sql que estoy realizando a mi db. Este ...
  #1 (permalink)  
Antiguo 03/09/2011, 21:43
 
Fecha de Ingreso: mayo-2011
Mensajes: 62
Antigüedad: 13 años, 6 meses
Puntos: 2
Problema con consulta sql

Que tal amigos del foro les vengo a plantear un problemita que estoy teniendo con una consulta sql que estoy realizando a mi db.

Este es mi code:

Código PHP:
class a{
    
    function 
Rec_Id($tabla,$columna,$col_igual) {
                
            
//    echo func_get_arg(2);
            //$mail = $_POST['mail']; 
            
include "bbdd/conectar.php";
            [
B]$seleccionar "SELECT * FROM `".$tabla."` WHERE ".$columna." =$col_igual";[/B]
            echo 
$seleccionar;
            
$elque mysql_query($seleccionar,$conectar);
            if(
$elque)    {
                
$row mysql_fetch_array($elque);    
                global 
$id;                 
                 
$id=$row['id'];
                 }else {
                     echo 
"<br>Hubo un problema al recuperar la id";
                     }
        
    }

}
$recuperar = new a();
$recuperar->Rec_Id('coments','mail_id',29); 

como ven cuando hago el $seleccionar = "SELECT * FROM `".$tabla."` WHERE ".$columna." =$col_igual"; no pasa nada malo, el tema es cuando hago el QUERY no me tira ningun error no si quiera se ejecuta el IF y va al ELSE para decirme que "no se pudo recuperar el id".
Yo lo que pienso es un error de sintaxis en el SELECT , al final de todo pongo una variable sin comillas ni nada, pero es porque es un valor númerico, y mysql lo toma como caracter si le pongo ' ' , he probado separar las variables de la consulta es decir , ".$variable." pero nada no se ejecuta la consulta.
Estimados espero una ayuda muchas gracias

PD: cuando hago el echo a $seleccionar me tira correctamente como string la cadena con los respectivos argumentos que le pase a la función.
  #2 (permalink)  
Antiguo 03/09/2011, 22:01
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Problema con consulta sql

Antes que nada: No puedes poner BBCODE dentro de la etiqueta de código
El error es que usas $conectar dentro de una función sin globalizarla. Te recomiendo dejar que la query tome la conexión por si sola:
Código PHP:
Ver original
  1. $elque = mysql_query($seleccionar);

O si no, ahora que usas objetos, toma ésto de ejemplo para adaptar tu clase:
Código PHP:
Ver original
  1. class Foo {
  2.     private $con;
  3.  
  4.     public function __construct($con) {
  5.         $this->con = $con;
  6.     }
  7.  
  8.     public function doQuery($val) {
  9.         $query = mysql_query("SELECT * FROM tabla WHERE id=$val", $this->con);
  10.         /* bla bla bla........... */
  11.     }
  12. }
  13.  
  14. $conectar = mysql_connect('localhost', 'root', '***');
  15.  
  16. $bar = new Foo($conectar);
  17. $baz = $bar->doQuery(1);

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies

Etiquetas: mysql, sql, tabla, variables
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 14:09.