Google
Web dns.bdat.net

Re: [PHP-ES] Re: Problema con Classe

Write haof XML files: Leonardo Torno Hidalgo ( torno@ciget.holguin.inf.cu)
Fecha: mié 02 nov 2005 - 22:03:20 CET


hola:
acabo de probar la clase, la completé con el close y no me da ningún
problema, funciona bien, la ligué con una bd que tenía aquí y pincha
perfecto, usa

echo mysql_error ($res->id_con);

luego de conectar, consultar y cerrar para ver si te devuelve algún error.

saludos

-- 
Lic. Leonardo Torno Hidalgo
GNU/Linux User #277382 (http://counter.li.org)
http://elinux.cubatools.com/
http://ehome.cubatools.com/
Marcelo Sosa wrote:
> Bueno, desde ya agradecido por sus ayudas...
> Y les paso lo que corresponde a este problema asi lo vemos todos.
> 
> Esta bien, tienen razon con respecto a los die()'s por todos lados,
> pero es que lo queria matar antes de que haga nada y ver en que
> quedaron las variables, lo mismo que probe ver el tipo de variable
> que me devolvia y demas funciones que ya saque.
> 
> bueno, estas son las paginas en cuestion que dan el problema, no las
> numere asi, si desean reproducir esto no los moleste.
> --------------------------------------------------------------------
> config.php
> --------------------------------------------------------------------
> <?php
> define("DB_HOST", "localhost");
> define("DB_NAME", "nombre_db");
> define("DB_USER", "usuario");
> define("DB_PASS", "password");
> define("DB_TIPO", "MySQL");
> ?>
> --------------------------------------------------------------------
> class_db.php
> --------------------------------------------------------------------
> <?php require_once("config.php");?>
> <?php
> class DBs{
>     var $host;
>     var $user;
>     var $pass;
>     var $db_name;
>     var $db_tipo;
>     
>     var $id_con = 0;
>     var $id_q = 0;
>     //********* inicializo las variables **************
>     function DBs(){
>         $this->host = DB_HOST;
>         $this->user = DB_USER;
>         $this->pass = DB_PASS;
>         $this->db_name = DB_NAME;
>         if(DB_TIPO != NULL && DB_TIPO != ''){
>             $this->db_tipo = DB_TIPO;
>         }else{
>             $this->db_tipo = "MySQL";
>         }
>     }
>     //************** conectar a la BD ***************
>     function conectar(){
>         switch($this->db_tipo){
>             case "MySQL":
>                 $this->id_con = 
> mysql_connect($this->host,$this->user,$this->pass);
>                 if($this->id_con){
>                     mysql_select_db($this->db_name, $this->id_con);
>                 }
>                 break;
>             case "MSSQL":
>                 $this->id_con = 
> mssql_connect($this->host,$this->user,$this->pass);
>                 if($this->id_con){
>                     mssql_select_db($this->db_name, $this->id_con);
>                 }
>                 break;
>         }
>         return $this->id_con;
>     }
>     //***************** aqui hago las consultas *************
>     function consultar($SQL = ""){
>         switch($this->db_tipo){
>             case "MySQL":
>                 $this->id_q = mysql_query($SQL, $this->id_con);
>                 break;
>             case "MSSQL":
>                 $this->id_q = mssql_query($SQL, $this->id_con);
>                 break;
>         }
>         return $this->id_query;
>     }
> }
> ?>
> --------------------------------------------------------------------
> index.php
> --------------------------------------------------------------------
> <?php require_once('includes/class_db.php');?>
> <?php
> if(isset($_POST['send'])){
>     $nombre = ($_POST['txtNom'] != '') ? "'".$_POST['txtNom']."'" : "NULL";
>     $SQL = "INSERT INTO idiomas(nombre) VALUES(".$nombre.");";
> 
>     $res = new DBs();
>     $res->conectar();
>     $r = $res->consultar($SQL);
>     $res->close();
>     if(!$r){
>         echo "tiro falso!!!";
>         die;
>     }
>     echo "\$r=".$r;die;
>     header('Location: '.$_SERVER['PHP_SELF'].'?e=0');
>     exit();
> }
> ?>
> <html>
> <body>
>     <form name="form1" id="form1" method="post" action="<?php echo 
> $_SERVER['PHP_SELF'];?>">
>         <input name="txtNom" type="text" id="txtNom" />
>         <input type="submit" name="Submit" value="Submit" />
>         <input name="send" type="hidden" id="send" value="1" />
>     </form>
> </body>
> </html>
> -------------------------------------------------------------------------------- 
> 
> 
> PD: Y si, ya empece a parchear esta clase hasta que salga a la luz el
> problema o hasta que llegue el brujo budu a las 22:18hs.
> 
> Estamos en contacto, saludos........
> 
> 
> 
> 
> 
> 
> 
> 
> 
>> Hola a todos..
>> Mi problema tiene que ver con una clase, pero ya estoy dudando si es 
>> de la clase misma.
>>
>> Les paso el codigo:
>> Aqui instancio la clase e invoco sus metodos:
>> -------------------------------------------
>> 01:    $res = new DBs();
>> 02:    $res->conectar();
>> 03:    $r = $res->consultar($SQL);
>> 04:    $res->close();
>> 05:    if(!$r){
>> 06:        echo "Hubo un problema...";
>> 07:        die;
>> 08:    }
>> 09:    echo "\$r=".$r;die;
>> 10:    exit();
>> -------------------------------------------
>> En la linea 03, el metodo consultar me devuelve TRUE o FALSE, en la 05 
>> pregunto y despues imprimo su valor.
>>
>> Hasta aqui todo bien, ahora, si comento la linea 09 (donde imprimo el 
>> valor de $r), la condicion if(!$r){ se convierte en TRUE....o sea 
>> ahora imprime "Hubo un problema..."
>> Que pasa???, es la configuracion de mi PHP???, alguna pista?
>>
>> Saludos....
>> Marcelo
> 
> 
-- 
Lic. Leonardo Torno Hidalgo
GNU/Linux User #277382 (http://counter.li.org)
-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:23:40 CET