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

Conexion en MySql en POO

Estas en el tema de Conexion en MySql en POO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Bueno decir que he leido las FAQ y que soy programador Structurado de toa la vida pero como me han dicho que esto de los ...
  #1 (permalink)  
Antiguo 12/06/2006, 10:49
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 1 mes
Puntos: 2
Conexion en MySql en POO

Bueno decir que he leido las FAQ y que soy programador Structurado de toa la vida pero como me han dicho que esto de los objetos tiene ventajas(de momento solo veo declarar funciones aparte y eso lo consigo declarandolas aparte en una archivo)pos he empezado un poco con ello...Esto es he intentado hacer mi conexion a mi base de datos mediante objetos y el resultado no es lo bueno que cabria esperar este es mi intento:
conexion.php
Código PHP:
<?
class conexion{

//Atributos
var $id_conn;
var 
$dir_serv;
var 
$contr;
var 
$usuario;

//Constructores
function conexion($x,$y,$z){
    
$this->dir_serv=$x;
    
$this->contr=$y;
    
$this->usuario=$z;
}

//Metodos
function conectar(){
if(
$this->id_conn=mysql_connect($dir_serv,$contr,$usuario)){
    echo 
"Conexion correcta";
}
else{
    echo 
"Murio";
}
}
}
?>
conectar.php
Código PHP:
<?
include_once("conexion.php");
$con1=new conexion("direccion","usuario","contraseña");
$con1->conectar();
?>
¿Que es lo que me falla?el error es el siguiente:
Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13) in /var/www/vhost/adosinformatica.com/home/html/conexion.php on line 19
Murio
  #2 (permalink)  
Antiguo 12/06/2006, 10:53
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 7 meses
Puntos: 3
Bueno el fallo lo tienes aquí
Código PHP:
//Metodos
function conectar(){
if(
$this->id_conn=mysql_connect($dir_serv,$contr,$usuario)){
    echo 
"Conexion correcta";
}
else{
    echo 
"Murio";
}

en mysql_connect le tienes que pasar los atributos de la clase en vez de $dir_serv poner $this->dir_serv quedaría así:

Código PHP:
//Metodos
function conectar(){
if(
$this->id_conn=mysql_connect($this->dir_serv,$this->contr,$this->usuario)){
    echo 
"Conexion correcta";
}
else{
    echo 
"Murio";
}

  #3 (permalink)  
Antiguo 12/06/2006, 10:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Ese problema te lo da porque no puede conectarse al server de mysql, checa que el servicio este iniciado y corriendo para que no tengas problemas.

La ventaja de OOP es mas que encapsular funciones (eso seria nadamas un namespace)pero pues puedes iniciar con abstraccion, usando un controlador general para una base de datos e implementar las funciones en un controlador especifico (mysql, postgresql, mysqli, oci, etc.) asi ya vas viendo el gran poder de OOP vs programacion de estructuras.
  #4 (permalink)  
Antiguo 12/06/2006, 11:29
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 1 mes
Puntos: 2
Miles de gracias!!!
  #5 (permalink)  
Antiguo 12/06/2006, 17:45
Avatar de santidc  
Fecha de Ingreso: enero-2005
Mensajes: 88
Antigüedad: 19 años, 3 meses
Puntos: 1
Buenas gente el sabado arranque una clase abstracta de base de datos, si bien ya hay miles que se yo, me mande a hacer la mia si a alguien le sirve en su version recontra basica les paso el link para que la puedan descargar un saludo y gracias



SantiDC

http://www.zimx.com.ar/catalina/CataDB.clase.rar
__________________
SantiDC
-------------------------------------
www.pedilo.com
un mundo de publicaciones gratis
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 (incluyéndote)




La zona horaria es GMT -6. Ahora son las 22:37.