Esta guía sirve para aquellos que tengan un conocimiento sobre PHP y SQL y quieran usar las bases de datos para crear páginas web dinámicas.
Crearé otra guía más adelante para aprender la base de SQL, pero para esta guía doy por sentado que se conoce el lenguaje de consultas a bases de datos SQL.
MYSQL tiene la ventaja de que como es software libre, está implementado en una gran cantidad de servidores en todo el mundo.
En esta guía os voy a dejar trozos de programas ya hechos y comprobados para que cambiando los valores no tengaís ninguna dificultad en usar MYSQL en PHP, entre otras cosas, porque suele ser algo "quisquilloso" con la sintaxis.
En esencia, para trabajar con bases de datos tenemos dos fases:
CONEXIÓN
En esta fase debemos especificar la base de datos, el usuario y la contraseña de la base de datos. La forma más sencilla es por medio de este código que escribí hace tiempo:
Código: Seleccionar todo
<?php
function Conectarse()
{
$base_de_datos = "NOMBRE DE LA BASE DE DATOS";
$usuario_bd = "USUARIO DE LA BASE DE DATOS";
$pass_bd = "CONTRASEÑA DE LA BASE DE DATOS";
$servidor="localhost"; // SI TRABAJAMOS EN EL MISMO SERVIDOR, NO CAMBIAR
if (!($link=mysql_connect($servidor,$usuario_bd,$pass_bd)))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db($base_de_datos,$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>
Código: Seleccionar todo
require("conectar.php");
$link=Conectarse();
TRABAJAR EN LA BASE DE DATOS
Una vez hecha la base la datos, se pueden hacer estas 4 tareas:
* Insertar :
Código: Seleccionar todo
$sql = "INSERT INTO tabla (id, atributo1, ..., atributoN) VALUES (NULL, 'texto',numero)";
$resultado=mysql_query($sql, $link) or die (mysql_error());
Si en el campo de valores quereís escribir una variable hacerlo de la siguiente manera para evitar errores:
Código: Seleccionar todo
$variable_texto="PRUEBA";
$variable_numero=1234;
$sql = "INSERT INTO tabla (id, atributoTexto, atributoNumero) VALUES (NULL, '{$variable_texto}',{$variable_numero})";
$resultado=mysql_query($sql, $link) or die (mysql_error());
* Modificar :
Código: Seleccionar todo
$sql='UPDATE tabla SET atributo=\'valor\' WHERE ...';
$resultado=mysql_query($sql, $link);
Y para usar una variable externa:
$variable="DA IGUAL NUMERO O TEXTO";
$sql='UPDATE tabla SET atributo=\''.$variable.'\' WHERE ...';
$resultado=mysql_query($sql, $link);
* Eliminar:
Código: Seleccionar todo
$sql='DELETE FROM tabla WHERE id=1';
$resultado=mysql_query($sql, $link);
O para incluir variables externas:
$sql='DELETE FROM tabla WHERE id='.$identificador.'';
$resultado=mysql_query($sql, $link);
* Hacer una consulta
Código: Seleccionar todo
$sql='SELECT campo1,...,campoN FROM tabla WHERE id=1';
$resultado=mysql_query($sql, $link);
while($row=mysql_fetch_row($resultado))
{
//en este bucle se va leyendo las tuplas de la consulta de 1 en 1
$campo1=$row[0];
$campoN=$row[n-1];
//aqui podriamos incluir código que por ejemplo mostrase datos de dicha tupla
}
Para incluir variables en el SQL, se cambiaria de esta forma:
$sql='SELECT campo1,...,campoN FROM tabla WHERE id='.$identificador.'';
OTRAS NOTAS
* A veces ocurren problemas cuando usamos las mismas variables para hacer diferentes consultas y actualizaciones en la base de datos. Lo recomendable es que cada instrucción SQL que pongaís lleve un nombre algo distinto ($sql1,$sql2 --- $resultado1,$resultado2) aunque la variable $link debe ser siempre la misma si trabajamos solo en una base de datos.