Foros del Web » Programando para Internet » PHP »

PHP OO Problema conexion base de datos

Estas en el tema de Problema conexion base de datos en el foro de PHP en Foros del Web. Hola a todos! Estoy practicando conexion a la db con oop. Tengo una clase Database.php con los metodos para consultas. Un archivo config con las ...
  #1 (permalink)  
Antiguo 08/09/2011, 19:47
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Problema conexion base de datos

Hola a todos!
Estoy practicando conexion a la db con oop.
Tengo una clase Database.php con los metodos para consultas.
Un archivo config con las constantes de la base de datos, esta todo bien declaradas.

Pero cuando pruebo el sitio me aparece el mensaje de "No existe la base".
El codigo Database:
Código PHP:
<?php


class Database
{
    private 
$db_connect NULL;
    function 
__construct()
    {
        
        
        
$this->db_connect mysql_connect(DBHOST,DBUSER,DBPASSWORD);
        
        if(
$this->db_connect)
        {
            
$select_db mysql_select_db(DB,$this->db_connect);
        }
        else
        {
            
            die(
'No conecto a la base de datos!');
        }
        if(!
$select_db)
        {
            die(
'No existe la base');
        }
        
        
    }
    
    function 
dbquery($sql)
    {
        
$query mysql_query($sql) ;
        return 
$query;
    }
    
    function 
fetchAray($sql)
    {
        
$query mysql_fetch_array($sql);
        return 
$query;
    }
    
    function 
numRows($query)
    {
        
$num mysql_num_rows($query);
        return 
$num;
    }
    
    function 
fetchAssoc($query)
    {
        
$assoc mysql_fetch_assoc($query);
        return 
$assoc;
    }
    
    function 
escapeString($query)
    {
        
$string mysql_real_escape_string($query);
        return 
$string;
    }
    
    function 
__destruct()
    {
        
mysql_close($this->db_connect);
    }
}

?>
El config.php
Código PHP:
if($_SERVER['REMOTE_ADDR'] == '127.0.0.1')
{
        
define('DBHOST','localhost');
        
define('DBUSER','root');
        
define('DBPASSWORD''');
        
define('DB','mibase');
}
else 
{
        
define('DBHOST','dbp04');
        
define('DBUSER','root');
        
define('DBPASSWORD','xxxx');
        
define('DB','mibase_web');

En el config para no andar modificando cada rato, si esta en localhost conecta con esas constantes sino conecta con las otras definidas.

Las constantes estan bien definidas, pero cuando pruebo el sitio por ejemplo en la index:
Código PHP:
require_once 'includes/config.php';
require_once 
'includes/autoload.php';
$db = new Database(); 
Quien pueda ayudarme se los agradezco!
Solamente es para practicar y mejorar!
Saludos y gracias!
  #2 (permalink)  
Antiguo 08/09/2011, 19:58
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: Problema conexion base de datos

Nos podrias decir cual es tu pregunta o error para poder ayudarte!
  #3 (permalink)  
Antiguo 08/09/2011, 20:00
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Problema conexion base de datos

Holla ell3er, nose si es algun error o que pero tengo bien definidos las constantes para la conexion, pero me aparece No existe la base.
Esta bien las constantes, me parece raro.
Muchas gracias!
  #4 (permalink)  
Antiguo 08/09/2011, 20:13
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Problema conexion base de datos

Disculpa ell3er, ya pude solucionar el problema, era del phpmyadmin.
Gracias!
  #5 (permalink)  
Antiguo 08/09/2011, 20:19
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: Problema conexion base de datos

Posiblemente la base de datos a la que intentas conectarte no existe o este mal el nombre.
Podrias incluir la funcion mysql_error() para que php te muestre mas detalles en caso de no poder conectarse a mysql o no poder seleccionar la base de datos!
Código PHP:
Ver original
  1. die('No conecto a la base de datos! '. funcion mysql_error());
Código PHP:
Ver original
  1. die('No existe la base'. funcion mysql_error());
Mas tarde compartire con la gente del foro la clase que uso para mysql desde bastante tiempo y que lo he hecho con mucho empeño y cariño :).
Saludos!
  #6 (permalink)  
Antiguo 08/09/2011, 20:21
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Problema conexion base de datos

Muy bueno ell3er!
Una consulta, desde el comando sql del phpmyadmin de mi web hosting, escribo Drop database xxx.. y me aparece un mensaje que Drop database esta inabilitado.

Hay alguna manera poder cambiar esto? para poder borrar db?.
Muchas gracias y saludos!
  #7 (permalink)  
Antiguo 08/09/2011, 23:57
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: Problema conexion base de datos

Pues eso es porque el usuario con el que te conectas al phpmyadmin solo debe tener ciertos privilegios.
Deberias ponerte en contacto con tu proveedor de hosting ya que no esta en tus manos esa es una configuracion de mysql.

Etiquetas: conexion, mysql, sql
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 17:36.