El siguiente es un pequeño tutorial de como hacer una buena base o plantilla de código para conectar tus bases de datos vía MySQL a tus proyectos PHP.
Para conectar a MySQL necesitas crear un base de datos y un usuario MySQL, puedes hacerlo vía Cpanel o vía SSH si dispones de permisos en una cuenta ebasic o superior de Quijost.
Una vez creado, recopila esos datos, y crearemos una carpeta llama "inc" de "includes" bajo tu directorio public_html que será la destinada a guardar archivos que normalmente se incluirán en varias partes del proyecto.
Dentro de la carpeta crea un archivo config.php donde guardaremos los datos de acceso a la base de datos y usuario mysql con permisos para acceder.
El archivo config.php puede tener el siguiente aspecto:
<?php
# Configuración de datos para conectar al servidor de base de datos
$servidor = 'localhost'; # Servidor (por defecto:localhost)
$prefijo_usuario = 'quijostest'; # Usuario para el hospedaje (por defecto:quijostest)
$usuario_mysql = $prefijo_usuario.'_test'; # Usuario MySql para la base de datos
$contraseña_mysql = 'test12345'; # Contraseña MySql para la base de datos
$base_de_datos_mysql = $prefijo_usuario.'_test'; # Base de datos mysql
?>
Para aquellos que desconozcan PHP, el archivo no es complicado. Con <? se debe abrir todo script PHP y con ?> se debe cerrar.
Toda variable en PHP debe ir precedida de un dolar $. y posteriormente lo que hacemos es asignar los valores de usuario, base de datos, y contraseña de mysql.
Es buena costumbre entre los programadores, realizar su código escrito en ingles, primero para que sea más compresible a otros y segundo porque suele resultar más corto y entendible que variables en otros idiomas, además de ser un estándar internacional a la hora de desarrollar software.
Por lo tanto, el archivo en inglés quedaría:
<?php
# Data config for connect to database server
$server = 'localhost'; # Server (default:localhost)
$user_prefix = 'quijostest'; # User of hosting (default:test)
$username_mysql = $user_prefix.'_test'; # Mysql database user
$password_mysql = 'test12345'; # Mysql database password
$database_mysql = $user_prefix.'_test'; # Mysql database
?>
También como consejo de programación, acostumbraros a poner las variables en minúsculas y si tienen varias palabras, ponerlas con _ para separarlas.
Una vez creado este archivo, ya tenemos la base para el siguiente que realizará nuestras conexiones a la base de datos. Este archivo se llamará connection.php e irá en la carpeta "inc".
Y tendrá el siguiente contenido:
<?php
require_once('config.php');
# Check database to host connection
if(!function_exists('mysql_connect'))
{
echo 'PHP cannot find the mysql extension. MySQL is required for run. Aborting.';
exit();
}
$dbh = @mysql_connect($server, $username_mysql, $password_mysql)
or die('Error: Database to host connection: '.mysql_error());
mysql_select_db($database_mysql, $dbh)
or die('Error: Select database: '.mysql_error());
?>
En este archivo, hemos incluido el archivo config.php, comprobamos que exista la función de conexion de mysql, sino mostramos un error y realizamos la conexión con los datos de config.php, guardando en una variable $dbh (DataBase Host) el acceso de conexión.
Ahora simplemente para utilizar esta "base" o plantilla en cualquier script PHP que este bajo public_html, incluiremos el archivo connection.php y haremos consultas con mysql_query con la variable $dbh por ejemplo un index.php que muestre los nombres de usuarios de una tabla users:
<?php
require_once('inc/connection.php');
#Execute a MySQL query
$result = mysql_query("SELECT name FROM users", $dbh);
while($row = mysql_fetch_array($result))
{
echo 'User: '.$row['name'].'<br>';
}
?>
Cualquier duda, mejora o comentario son bienvenidos.