[GUIA] Como usar MYSQL con PHP
Publicado: 05 Abr 2011 18:25
INTRODUCCION
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:
Este código permite tener una forma sencilla e intuitiva para hacer conexiones cambiando simplemente los valores de las variables iniciales. Lo normal es guardar este código en un fichero aparte (conectar.php) y usarlo en la página PHP con este otro código:
La variable $link guarda la conexión a la base de datos y es necesario guardarla para la siguiente fase.
TRABAJAR EN LA BASE DE DATOS
Una vez hecha la base la datos, se pueden hacer estas 4 tareas:
* Insertar :
La parte de "or die(mysql_error())" es útil porque en el caso de ocurrir un error SQL detiene la ejecución y da una pequeña descripción del error.
Si en el campo de valores quereís escribir una variable hacerlo de la siguiente manera para evitar errores:
En estos códigos hay comillas dobles al principio y final del SQL y comillas simples para marcar los valores de tipo texto.
* Modificar :
En estos códigos todas las comillas son comillas simples.
* Eliminar:
En estos códigos todas las comillas son comillas simples.
* Hacer una consulta
De nuevo vuelven a usarse las comillas simples.
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.
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.