Estás en la versión internacional Acceder al sitio de Argentina

Código para conectarse a una base de datos MySQL con PHP

Snippets cortos para empezar y referencia rápida. Acompaña el video de YouTube “Guía Definitiva para Manejar MySQL en cPanel”.

Opción 1: MySQLi (procedural / orientado a objetos)

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$servername = "localhost";
$username   = "tu_usuario";
$password   = "tu_contrasena";
$database   = "tu_base_de_datos";

$conn = new mysqli($servername, $username, $password, $database);

if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}
echo "Conexión exitosa";

$conn->close();
?>

Opción 2: PDO (recomendada)

Más portable y con manejo de excepciones limpio:

<?php
$dsn = "mysql:host=localhost;dbname=tu_base_de_datos;charset=utf8mb4";
$opt = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];
try {
    $pdo = new PDO($dsn, "tu_usuario", "tu_contrasena", $opt);
} catch (PDOException $e) {
    exit("Error de conexión: " . $e->getMessage());
}

// Ejemplo: consulta segura con parámetros
$stmt = $pdo->prepare("SELECT id, nombre FROM usuarios WHERE email = ?");
$stmt->execute([$_POST['email'] ?? '']);
foreach ($stmt as $row) {
    echo $row['nombre'];
}
?>

Buenas prácticas

  • Nunca concatenar variables del usuario en consultas SQL: usá prepared statements.
  • Guardá las credenciales fuera del repositorio (variables de entorno o archivo de config no versionado).
  • Usá utf8mb4 como charset para soporte completo de Unicode (incluyendo emojis).
  • En producción: display_errors = 0 y registrá los errores con log_errors.
  • Cerrá la conexión en scripts largos. PHP la cierra automáticamente al final del request.

Tutorial en YouTube

Guía paso a paso para crear bases de datos, usuarios, contraseñas y habilitar acceso remoto desde cPanel: