PHP y MySQL (Del que ahora deriva MariaDB) son una combinación ganadora, por que es muy fácil implementarlo y desarrollar con estas dos herramientas.

Para continuar con nuestro curso vamos a realizar una conexión a la base de datos y hacer unas pruebas sencillas, la conexión va a ser directa, sin uso de interfaces ni temas complejos, estos los veremos mas adelante.

Conectando PHP con MySQL

En este momento la ultima versión de PHP es la 7.2.6, así que la sintaxis que usare será para la versión 5.5 en adelante, esto lo aclaro por que si tienes una versión antigua debes usar la función mysql_connect, yo en este caso usare la clase mysqli. Si deseas saber que versión de php tienes, puedes usar la instrucción echo phpinfo(); dentro de un documento php, así te mostrara toda la información de PHP con la que cuenta tu equipo o servidor.

Vamos a crear un archivo, en este caso lo llame 01.ConexionMySQL.php

<!doctype html>
<html lang="es">
    <head>
        <meta charset="utf-8">
        <title>PHP y MySQL</title>
        <meta name="description" content="PHP y MySQL template">
        <meta name="author" content="Jhontona.com">
    </head>
    <body>
        <?php
            $host = "localhost";
            $user = "jhontona";
            $password = "phpcurso1";
            $database = "test";
            $mysqli = new mysqli($host, $user, $password, $database);

            if ($mysqli->connect_errno) {
                echo "Fallo al conectar a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
            }
            echo $mysqli->host_info . "\";

        ?>
    </body>
</html>

Ahora es momento de revisar el código, voy a enfocarme de la línea 15 a la 24, ya que es nuestro código PHP, en las primeras líneas(de la 15 a la 18) estamos declarando variables.

Variables en PHP

Si recordamos el anterior post, decíamos que PHP es un lenguaje interpretado y de tipado dinámico, por lo que no es necesario mencionar a que tipo de variable corresponde cada una, es decir, que tipo de valores puede almacenar (Si quieres profundizar en tipados revisa este post).

Como podemos ver en el anterior ejemplo una variable en PHP se inicializa con el signo $ y seguido el nombre de la variable.

Después, estamos asignándole un valor a cada variable, con el signo = y luego le pasamos un valor, en nuestro anterior ejemplo todos los valores son de tipo string(texto), pero puede ser de diferentes tipos, y como lo indicamos, puede tomar en el transcurso de la ejecución cualquier otro tipo, vamos a ejemplificar esto con otro pequeño fragmento de código.

 

Ejemplo de variable con varios tipos

<?php

/*Tipos de variables*/
$mivariable = "string"; //Texto
$mivariable = 4; //Numero
$mivariable = array(); //Matriz
$mivariable = 5.32; //Numero decimal
$mivariable = true; //Booleano (verdadero o falso)

?>

En el anterior ejemplo podemos ver como una misma variable puede tomar varios valores de diferentes tipos, si quieres conocer todos los tipos que maneja PHP te dejo el enlace.

También otra cosa importante es la inclusión de comentarios en el código.
Adrede incluí los dos tipos de comentarios que maneja PHP, el comentario de varias líneas, que se inicia con /* y se debe cerrar con */, y el comentario de una sola línea //, que solo necesita la apertura, ya que se finaliza automáticamente con el salto de línea.

Ya que conocemos la teoría sobre variables en PHP continuemos revisando el código.

En la línea 20 se declara otra variable, y se le asigna una instancia de la clase mysqli, para poder crear un nuevo objeto de este tipo se le pasan unos valores, que en este caso son los valores que almacenamos en las variables antes declaradas. Estos valores corresponden a los datos de conexión a la base de datos. Si quieres conocer mas sobre objetos, clases y conceptos relacionados a la programación orientada a objetos te recomiendo leer este post.

En PHP para crear una nueva instancia de una objeto se utiliza la sentencia new, que precisamente indica que es un nuevo objeto de un tipo de clase determinado. En la línea 21 estamos utilizando la condición if(si) para preguntar si ocurrió algún error en la conexión. (Si necesitas saber mas sobre las estructuras básicas de programación te dejo este post). Bien, dentro de este condicional tenemos la variable $mysqli que si recordamos era un objeto de clase mysqli, y al ser de este tipo tiene todos sus atributos y métodos(funciones), uno de estos atributos es connect_errno que nos indica si la conexión fue exitosa o no, es decir es una variable de tipo booleano. Si prestamos atención, podemos ver que para acceder a un atributo estamos utilizando los símbolos -> que le indica al interprete de PHP que es un atributo de un objeto.

La línea 22 se ejecuta si hubo un error, y lo que hace es imprimir el error. Algo nuevo en esta línea es el uso del punto(.) que en PHP es el símbolo para concatenar, es decir, unir dos cadenas de texto.

Y finalmente en la línea 24 imprimimos el valor de otro atributo de la clase mysqli. Tal vez eso halla sido un poco complejo, pero no te angusties en el transcurso del curso y de la practica entenderás los conceptos, este ejemplo lo saque directamente de la documentación de PHP por lo que te aconsejo que siempre en tus desarrollos y practicas revises el sitio para verificar la sintaxis y el uso de las funciones. También te dejo el link del archivo de esta clase en Github y si tienes dudas o algún comentario por favor déjalo, así podemos seguir aprendiendo todos.