Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/04/2014, 19:43
xoceunder
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 766
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: duda en Clase PHP para conexion

A ver si estoy bien con esto o si estoy mal

Código PHP:
Ver original
  1. <?php
  2. // FUNCIÓN DE CONEXIÓN CON LA BASE DE DATOS MYSQL O CON PgSQL
  3.  
  4. define ("MYSQL",  "MySQL");
  5. define ("PGSQL", "PgSQL");
  6. $dbMotor = SQLITE;                                // Base de datos empleada
  7. if ($dbMotor == MYSQL) {
  8.     define("MYSQL_HOST", "mysql:host=localhost"); // Nombre de host MYSQL
  9.     define("MYSQL_USUARIO", "root");              // Nombre de usuario de MySQL
  10.     define("MYSQL_PASSWORD", "1234");             // Contraseña de usuario de MySQL
  11.     $dbDb    = "baseDeDatos";                     // Nombre de la base de datos
  12.     $dbTabla = $dbDb . ".tabla";                  // Nombre de la tabla
  13. } elseif ($dbMotor == PGSQL) {
  14.     define("PGSQL_HOST", "pgsql:host=localhost"); // Nombre de host PGSQL
  15.     define("PGSQL_USUARIO", "root");              // Nombre de usuario de PGSQL
  16.     define("PGSQL_PASSWORD", "1234");             // Contraseña de usuario de PGSQL
  17.     define("PGSQL_PORT", "");                     // Contraseña de puerto de PGSQL
  18.     $dbDb    = "baseDeDatos";                     // Nombre de la base de datos
  19.     $dbTabla = $dbDb . ".tabla";                  // Nombre de la tabla
  20. }
  21.  
  22. function conectaDb()
  23. {
  24.     global $dbMotor, $dbDb;
  25.    
  26.     try {
  27.         if ($dbMotor == MYSQL) {
  28.             $db = new PDO(MYSQL_HOST, MYSQL_USUARIO, MYSQL_PASSWORD);
  29.             $db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
  30.         } elseif ($dbMotor == SQLITE) {
  31.             $db = new PDO(PGSQL_HOST, PGSQL_PORT, PGSQL_USUARIO, PGSQL_PASSWORD);
  32.             $db->setAttribute(PDO::PGSQL_ATTR_USE_BUFFERED_QUERY, true);   
  33.         }
  34.         return($db);
  35.     } catch (PDOException $e) {
  36.         cabecera("Error grave");
  37.         print "<p>Error: No puede conectarse con la base de datos.</p>\n";
  38. //        print "<p>Error: " . $e->getMessage() . "</p>\n";
  39.         pie();
  40.         exit();
  41.     }
  42. }
  43. // EJEMPLO DE USO DE LA FUNCIÓN ANTERIOR
  44. // La conexión se debe realizar en cada página que acceda a la base de datos
  45. $db = conectaDB();