Como crear una Conexión inicial a MySQL con PDO (PHP)

En PHP podemos realizar una conexión a una base de datos MySQL de diferentes maneras, tenemos por procedimientos, orientado a objetos o mediante PDO (Objetos de Datos PHP), en este articulo te enseño a Como crear una Conexión inicial a MySQL con PDO (PHP), vayamos con el artículo.
Como crear una Conexión inicial a MySQL con PDO (PHP)
Vamos a explicar cada línea de código para que entiendas mejor que estamos haciendo y al final colocaremos el código completo.
Primero indicamos 3 datos importantes para establecer la conexión a la base de datos, el servidor que lo puedes dejar como localhost, el usuario y el password
1 2 3 4 5 6 |
<?php $servidor = "localhost"; $usuario = "usuario"; $password = "password"; |
Ahora iniciamos el método try en donde vamos a colocar información indispensable para la conexión a la base de datos
1 2 3 4 5 |
try { // Acá colocaremos la conexión a la base de datos } |
Vamos a crear 3 líneas de código dentro del método try:
- Primero creamos una variable con el nombre $conexion dentro de ella creamos una nueva instancia de la clase PDO y dentro colocamos los datos de nuestra conexión (servidor, nombre de la base de datos, usuario y password) estos datos salvo el nombre de la base de datos los especificamos al inicio de este artículo.
- Para mantener la idea volvemos a crear otra línea con el mismo nombre de variable $conexion dentro de esta seteamos PDO::ATTR_ERRMODE para obtener informe de algún error al intentar conectar y PDO::ERRMODE_EXCEPTION para emitir excepciones al conectar a la Base de Datos.
- Por ultimo lanzamos un mensaje si es que la conexión se realizo correctamente.
1 2 3 4 5 6 7 |
try { $conexion = new PDO("mysql:host=$servidor;dbname=nombreDeTuBaseDeDatos", $usuario, $password); $conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Conexión realizada Satisfactoriamente"; } |
1 2 3 4 5 6 |
catch(PDOException $e) { echo "La conexión ha fallado: " . $e->getMessage(); } |
1 2 3 |
$conexion = null; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $servidor = "localhost"; $usuario = "usuario"; $password = "password"; try { $conexion = new PDO("mysql:host=$servidor;dbname=nombreDeTuBaseDeDatos", $usuario, $password); $conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Conexión realizada Satisfactoriamente"; } catch(PDOException $e) { echo "La conexión ha fallado: " . $e->getMessage(); } $conexion = null; |
Conclusión
Uno de los beneficios de usar PDO para conectarse a MySQL es que puedes manejar cualquier problema que ocurra al realizar consultas a la base de datos, si muestra una excepción dentro del método try la conexión se cancela y pasa al método catch para lanzar el mensaje de error.
Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.
COmo hariamos la consulta. Que parametros usamos?
Hola Acosta y Bienvenido a la comunidad !
Te recomiendo seguir este Post para trabajar haciendo SELECT a la base de datos con PDO en PHP: https://www.phptutorial.net/php-pdo/php-pdo-select/
Connection failed: SQLSTATE[HY000] [2006] MySQL server has gone away.
Sabes por qué me ocurre eso al ejecutarlo?
Hola Sergio, bienvenido a la comunidad !
El problema esta en tu MySQL, debes hacer unas modificaciones, te dejo esta guía te puede ayudar: https://www.alvarodeleon.net/solucionar-error-2006-hy000-mysql-server-has-gone-away-en-mysql-mariadb/
Hola: tengo el siguiente código en la conexion:
<?php
try
{
$db = new PDO(“mysql:host=”.localhost.”; dbname=”.php_registro, root, “”);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO:: ERRMODE_EXCEPTION);
}
catch (PDOException $exception)
{
die(‘Error: ‘.$exception);
}
?>
Al ejecutar el formulario me responde:
Parse error: syntax error, unexpected token “->” in C:\xampp\htdocs\route\Sistema-de-registro-y-login-basado-en-ajax-jquery-lightbox\ajax-login-registration.php on line 55
Donde en esa línea dice:
$selectQuery = $conn = new PDO->prepare(“select * from tbl_registro where email_id = ? and password = ?”);
Que debo corregir?
Muchas gracias y saludos cordiales
Hola Antonio y Bienvenido a la comunidad !
Hay errores de sintaxis en tu código. Te recomiendo seguir este Post para trabajar haciendo SELECT a la base de datos con PDO en PHP: https://www.phptutorial.net/php-pdo/php-pdo-select/