File "connection.php"

Full Path: C:/wamp64/www/Identifica_Piku/connection.php
File size: 1.59 KB
MIME-type: text/x-php
Charset: utf-8

<?php
/**
 * Archivo de conexión a la base de datos
 * Actualizado para PHP 8.1
 * Incluye manejo de errores mejorado y configuración UTF-8
 */

// Configuración de la base de datos
define('DB_HOST', '192.200.100.40');
define('DB_USER', 'SANMARINO');
define('DB_PASS', 'sanmarino2021*');
define('DB_NAME', 'carnet_piku');

// Configurar reporte de errores de mysqli
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

try {
    // Crear conexión con manejo de excepciones
    $con = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
    
    // Verificar la conexión (aunque con MYSQLI_REPORT_STRICT ya lanza excepción)
    if (!$con) {
        throw new Exception("Error de conexión: " . mysqli_connect_error());
    }
    
    // Configurar el charset a UTF-8 (utf8mb4 es la versión completa de UTF-8)
    if (!mysqli_set_charset($con, "utf8mb4")) {
        throw new Exception("Error al establecer charset UTF-8: " . mysqli_error($con));
    }
    
    // Opcional: Configurar zona horaria de MySQL (ajusta según tu zona)
    // mysqli_query($con, "SET time_zone = '-05:00'"); // Colombia
    
} catch (Exception $e) {
    // Registrar el error (en producción usa error_log en lugar de mostrar)
    error_log("Error de conexión a la base de datos: " . $e->getMessage());
    
    // Mostrar mensaje genérico al usuario (no expongas detalles de conexión en producción)
    die("Error al conectar con la base de datos. Por favor, contacta al administrador.");
}

// La variable $con está disponible globalmente para todos los archivos que incluyan este archivo
?>