Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error al conectar a la base de datos con PDO y variable

Estas en el tema de Error al conectar a la base de datos con PDO y variable en el foro de PHP en Foros del Web. Hola a todos. Estoy creando una aplicacion web, pero me ha surgido una duda que no consigo solucionar. No es algo indispensable para continuar con ...
  #1 (permalink)  
Antiguo 04/11/2017, 06:58
Avatar de dryant  
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 283
Antigüedad: 14 años, 8 meses
Puntos: 10
Error al conectar a la base de datos con PDO y variable

Hola a todos.
Estoy creando una aplicacion web, pero me ha surgido una duda que no consigo solucionar. No es algo indispensable para continuar con la misma, pero siempre es bueno aprender mas.
El caso es que la conexion a la base de datos la hago por PDO. Y para "enmascarar" aun mas y modularizar el pryecto, tengo un archivo de configuracion en el cual tengo todos los datos del estilo asi:
Código PHP:
define (DBNAME"posts");
    
define (DBHOST"135.88.75.125");
    
define (DBUSER"admin");
    
define (DBPASSWORD"password1234"); 
Y despues mi intencion es colocar la creacion de una instancia de pdo asi:
Código PHP:
$pdo "'mysql:host=".DBHOST.";dbname=".DBNAME.";charset=UTF8','".DBUSER."','".DBPASSWORD."'";
$link = new PDO($pdo); 
Sin embargo, ésto me da un error de conexion a la base de datos.
Para comprobar que todo era correcto, he hecho un echo del $pdo y todo lo que me ha dado lo he puesto sustituyendo la variable y si me conecta... por lo que se descarta un fallo de alguna falta de comillas, o de algun dato erroneo...
Alguna respuesta a esto?

Un saludo y gracias.
__________________
Tecnología y tutoriales
  #2 (permalink)  
Antiguo 04/11/2017, 08:10
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Error al conectar a la base de datos con PDO y variable

Hola dryant,

Posiblemente no sea esto, pero ¿has tenido en cuenta incluir debidamente el archivo de configuración?

Por ir descartando...
  #3 (permalink)  
Antiguo 04/11/2017, 12:08
Avatar de dryant  
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 283
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Error al conectar a la base de datos con PDO y variable

Cita:
Iniciado por rbczgz Ver Mensaje
Hola dryant,

Posiblemente no sea esto, pero ¿has tenido en cuenta incluir debidamente el archivo de configuración?

Por ir descartando...
Si si esta bien incluido ya que haciendolo asi:
Código PHP:
$host DBHOST;
        
$db DBNAME;
        
$user DBUSER;
        
$pass DBPASSWORD;
        
$link = new PDO("mysql:host=$host;dbname=$db;charset=UTF8","$user","$pass"); 
si me funciona perfectamente.
Gracias de todas formas.
__________________
Tecnología y tutoriales
  #4 (permalink)  
Antiguo 04/11/2017, 14:03
 
Fecha de Ingreso: octubre-2011
Mensajes: 132
Antigüedad: 12 años, 6 meses
Puntos: 4
Respuesta: Error al conectar a la base de datos con PDO y variable

prueba esto:

Código SQL:
Ver original
  1. $host = 'localhost';
  2.         $db = 'nombre_db';
  3.         $dsn = "mysql:host = $host; dbname = $db";
  4.         $user = 'root';
  5.         $pass = '123456';
  6.  
  7.         //Opciones de PDO.
  8.         $options = array(   PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
  9.                             PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
  10.  
  11.         try {
  12.             $conexion = NEW PDO($dsn, $user, $pass, $options);
  13.             RETURN $conexion;
  14.         }
  15.         catch (PDOException $e) {
  16.             //echo "Sucedio un problema al realizar la conexión !!";
  17.             echo "¡Error!: " . $e->getMessage() . "";
  18.             die();
  19.             exit();
  20.         } finally {
  21.             $conexion = NULL;
  22.         }

Etiquetas: conexion, mysql, pdo, variable
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 19:39.