Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Ayuda. Problema class para conexión mysql.

Estas en el tema de Ayuda. Problema class para conexión mysql. en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola amigos, Miren estoy realiznado una class, para conerctarme a una base datos en msyql, pero me da el siguiente error y no se que ...
  #1 (permalink)  
Antiguo 19/07/2005, 08:34
 
Fecha de Ingreso: julio-2005
Mensajes: 26
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta Ayuda. Problema class para conexión mysql.

Hola amigos,

Miren estoy realiznado una class, para conerctarme a una base datos en msyql, pero me da el siguiente error y no se que es lo que esta pasando, si todo esta bien hasta donde he podido comprobar.

Espero que me puedan sacar la de la duda. hay les dejo es código para que me digan que estoy haciendo mal.

El error es el siguiente: ERROR: --> 1045 - Access denied for user 'ODBC'@'localhost' (using password: NO)

class.conn.php

Código:
Código PHP:
<?php     ########################################     #    CLASE PARA CONSULTAS MYSQL        #     # Nombre: Andry Rodríguez Pérez        #     # [email][email protected][/email]         #     # [url]http://www.medisur.cfg.sld.cu[/url]   #     ######################################## class conexion_mysql{     // PROPIEDADES PÚBLICAS - (debes entrar sus valores) //          var $servidor;  //Dirección del servidor mysql, normalmente es localhost.     var $usuario;   //Usuario del servidor mysql.     var $password;  //Password de usuairo del servidor mysql.     var $basedatos//Nombre de la Base de datos del servidor mysql.     var $consulta;  //Consulta que vamos a realizar.     var $testeando;     // true o false     var $email_admin;     /* si "$testeando" es false, entonces pon                            el email del admin aqui para que reciba                            notificaciones por email de los errores mysql */          // PROPIEDADES PRIVADAS * (no hay que hacer nada con ellas) //          var $conexion;  //Variable que guarda la conexión con la base datos.     var $select_bd;  //Variable que guarda la selección de la base datos.     var $resultado//Variable que guarda los resultados.     // CONSTRUCTOR DE LA CLASE - ()          // MÉTODOS PRIVADOS * (no hay que hacer nada con ellos) //          // Función que nos muestrar los errores y en caso de existir alguno lo envia por correo al administrador de la web.            function err()     {         if ( $this->testeando )         {             echo     "<b><font color='red'>ERROR:</b> --> </b>" .                     mysql_errno() . "</b> - <i>" mysql_error() . "</i></font>";             exit();         }         else         {             echo "<b><font color='red'>Ha habido un error</font></b>";             if ( $this->email_admin )             {                 echo ", el administrador ha sido informado por email";                 mail (    $this->email_admin ,                         "Error mysql en" $_SERVER['PHP_SELF'] ,                         "Error-> " mysql_error() .                         "\n en->" $_SERVER['PHP_SELF'].$_SERVER['QUERY_STRING'] .                         "\n a las-> " date('H:i:s - D-d-m-Y') );             }             exit();         }     }     // MÉTODOS PÚBLICOS - (puedes ejecutar los que necesites) //     // Función para conectar a una base datos dentro de un servidor mysql.             function conectar()     { // conecta a la bbdd         $this->conexion = @mysql_connect$this->servidor_mysql $this->usuario $this->password ) or $this->err();         $this->select_db = @mysql_select_db$this->basedatos $this->conexion ) or $this->err();     }          //Función para ejecutar una consulta.          function consulta()     { // ejecuta consulta mysql.         $this->resultado = @mysql_query $this->consulta $this->conexion  )or $this->err$this->resultado ) or $this->err() ;         return ( $this->resultado );     }          //Funcion para cerrar la conexión.     function cerrar_conexion()     { // cierra la conexion existente.         mysql_close $this->conexion );     } } ?>
Código PHP:
 
Luego muetro las cosas en esta otra pagina web: test.php

Código PHP:
[HTML]
[BODY]
<?php

require ("class.conn.php");

$miconexion = new conexion_mysql //Asigno la class.
$miconexion->conectar "localhost"//Nombre del servidor del mysql.
$miconexion->conectar "usuario"//Nombre del usuario del servidor mysql.
$miconexion->conectar "123"//Password del usuario del servidor mysql.
$miconexion->select_db "basedato"//Base datos del servidor mysql.
$miconexion->consulta "SELECT * FROM Nombre de la tabla"//Creo la consulta.
$miconexion->testeando true//Compruebo si existe conexion.
$miconexion->conectar(); // Ejecuto la conexión
$miconexion->cerrar_conexion(); //Cierro la conexion 


?>

[/BODY]

[/HTML]
Saludos en espera de su mas sincera ayuda,

Andry
  #2 (permalink)  
Antiguo 20/07/2005, 15:42
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Hola:
Ufff... ¿Por dónde empezar?...
Código PHP:
$miconexion = new conexion_mysql //Asigno la class.
$miconexion->conectar "localhost"//Nombre del servidor del mysql.
$miconexion->conectar "usuario"//Nombre del usuario del servidor mysql.
$miconexion->conectar "123"//Password del usuario del servidor mysql.
$miconexion->select_db "basedato"//Base datos del servidor mysql. 
Si te das cuenta, estás sobreescribiendo la variable $miconexion->conectar. Hay una variable definida para cada dato. No todos van en una sóla (¿?).
Además, según se puede ver en la clase, la variable donde debes guardar el nombre de la base de datos es $miconexion->basedatos y no $miconexion->select_db.
Deberías probar algo como esto:
Código PHP:
$miconexion = new conexion_mysql //Asigno la class.
$miconexion->servidor "localhost"//Nombre del servidor del mysql.
$miconexion->usuario "usuario"//Nombre del usuario del servidor mysql.
$miconexion->password "123"//Password del usuario del servidor mysql.
$miconexion->basedatos "basedato"//Base datos del servidor mysql.
$miconexion->consulta "SELECT * FROM Nombre de la tabla"//Creo la consulta.
$miconexion->testeando true//Compruebo si existe conexion.
$miconexion->conectar(); // Ejecuto la conexión
$miconexion->cerrar_conexion(); //Cierro la conexion 
Saludos
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 05:00.