En esta quia aprenderás a interactuar con tu base de datos mysql.
Ten en cuenta que a los códgiso debes añadirle <? y ?>
Lo primero debes saber que la base de datos se divide en tablas, que a su vez estan divididas en filas con un nombre, y columnas, que dan valores.
Normalmente se utilizan los signos ` y '
Las acciones de la base de datos las almacenaremos en una variable $XXX.
Las consultas se ejecutan mediante mysql_query("XXX"), pero tambien existen otros como mysql_num_rows, que veremos más adelante.
Podemos poner el mysql_query con la consulta que vayamos a hacer ($X = mysql_query("BLABLA")

o almacenar la consulta en una variable y la query en otra ($consulta = "XXX"; y $consulta2 = mysql_query("$consulta")

, nosotros usaremos una sola variable
Las consultas se pueden ejecutar mediante if o poner directamente, tras {, mysql_query("XXX");
Para obtener una base de datos, podemos contratarla de un host o crearla mediante PHP
$crear = mysql_query("CREATE DATABASE `nombre`");
if ($crear) {
echo "Database creada con exito";
} else {
echo " Hubo un error";
}
Una vez creada la database, debemos conectarnos a ella.
Para conectarnos usaremos mysql_select_db y mysql_connect.
Podemos incluir el codigo en el archivo o hacer un include a un archivo aparte.
La estructura de la función es:
$datos = mysql_connect(HOST, USUARIO, CONTRASEÑA) or die("No se ha podido conectar con el servidor MySQL. Inténtalo mas tarde.");
mysql_select_db(NOMBRE DE LA DB, $datos);
Para mayor comodidad se almacena cada cosa en variables:
$host = "HOST"; // Host
$user = "USER"; // Usuario de la base de datos
$pass = "PASS"; // Contraseña de la base de datos
$dbname = "NOMBRE DE LA DB"; // Nombre de la base de datos
$conecta = mysql_connect($host, $user, $pass) or die("No se ha podido conectar con el servidor MySQL. Inténtalo mas tarde.");
mysql_select_db($dbname, $conecta);
Una vez conectados a la db, podemos empezar a interactuar con ella.
RECUERDA SIEMPRE INCLUIR EL ARCHIVO O PONER EL CODIGO
OPERACIONES CON TABLASLo primero para usar una db es crear tablas.
CREAR TABLAS
$crear = "CREATE TABLE `nombre de tabla` (
`nombre de fila` varchar(255) NOT NULL auto_increment,
UNIQUE KEY `nombre de fila` (`nombre de fila`)
);";
if (mysql_query($crear)) {
echo "Tabla creada"
}
Ahora describiremos cada parte:
CREATE TABLE `XXX` En lugar de XXX será el nombre de la tabla.
A partir de lo siguiente empezaremos a crear filas
`nombre de fila` sera el nombre de la fila
varchar(225) es el limite de carteres, puede ser varchar, int...
NOT NULL o NULL: indica si el campo puede quedar vacío
auto_increment querra decir que será un número, que aumentara solo cada columna, tambien puede ser default 'LOQUESEA', esto indica que si no insertamos nada en ese lugar el valor será LOQUESEA.
MODIFICAR TABLAS
Si te equivocaste creando una tabla, puedes añadir una fila:
$cambiar = "ALTER TABLE `NOMBRE` ADD `FILA` VARCHAR(255) NOT NULL ;";
ALTER TABLE `NOMBRE` el nombre de la tabla que cambiaremos
ADD de aqui en adelante, sera la fila, exactamente igual que al crear tablas.
BORRAR TABLAS
Para borrar una tabla:
$borrar = "DROP TABLE IF EXISTS nombre";
en lugar de nombre, pondremos el nombre de la tabla que borraremos.
OPERAR CON TABLASPara extraer y enviar datos a las tablas, tambien se usa mysql_query.
ENVIAR DATOS
Para crear una nueva columna con X datos:
$insertar = "INSERT INTO `nombre` (XX, XX, XX) VALUES('XX','XX,'XX')";
`nombre` el nombre de la tabla donde insertaremos los datos
lo que sigue a nombre, seran las filas que insertaremos, separadas por comas. Si no se inserta nada tomará el valor default o incrementará.
VALUES('XX','XX','XX') Lo que insertaremos en cada fila, en el orden que indicamos antes.
SOBREESCRIBIR DATOS
Para modificar una columna ya existente:
$modificar = "UPDATE nombre SET fila = 'XX' WHERE fila = 'XX'";
UPDATE nombre , el nombre de la tabla.
SET fila = 'XX' fila equivale a la fila donde insertaremos los datos, en este caso XX
WHERE fila = 'XX' para saber que columna debe modificar, y respecto a que.
Para que comprendais mejor. Tenemos un sistema de usuarios.
El usuario benito quiere modificar su contraseña.
La tabla se compone de las filas usuario y contrasena.
$modificar = "UPDATE usuarios SET contrasena = 'nuevacontraseña' WHERE usuario = 'benito'";
Los datos se insertarian mediante post y cookies o sessions, pero eso es aparte.
SELECCIONAR DATOS
Para seleccionar datos de una tabla:
$seleccionar = "SELECT `loquesea` FROM `tabla` WHERE fila = 'loquesea'";
SELECT `loquesea` será la fila que seleccionaremos.
Para seleccionar todas las filas en vez de `loquesea` pondremos un asterisco (*)
FROM `tabla` desde la tabla que sea
WHERE fila = 'loquesea' sabiendo que la fila es XXX
Usaremos de nuevo el ejemplo de benito y su contraseña. Esta vez queremos saber su contraseña asi que:
$seleccionar = "SELECT `contrasena` FROM `usuarios` WHERE usuario = 'benito'";
Tambien podemos añadirle un orden y un limite.
Para indicar un orden
$seleccionar = "SELECT `loquesea` FROM `tabla` WHERE fila = 'loquesea' ORDER BY `fila` DESC";
Esto significa que se ordenará por la fila "fila"
DESC indica que se ordenara descendento, tambien puede ser ASC (ascendente)
Para indicar un limite
[php]
$seleccionar = "SELECT `loquesea` FROM `tabla` WHERE fila = 'loquesea' LIMIT X";
LIMIT X X seria el número de datos que puede extrar como limite.
Tambien se puede usar LIMIT X,XX que significa que extraerá desde la fila X hasta la XX
BORRAR DATOS
[php]
$borrar = "DELETE FROM `tabla` WHERE fila = 'XX'";
FROM `tabla` la tabla
WHERE fila = 'XX' como en lo demas, sabiendo que fila es = a XX
$borrar = "DELETE FROM `usuarios` WHERE usuario = 'benito'";
OTRAS OPERACIONESAdemas existen otras operaciones tales como:
mysql_num_rowsCon misql_num_rows contaremos cuantas respuestas nos envia la db:
$query = mysql_query("SELECT `usuario` FROM `usuarios`");
$rows = mysql_num_rows($query);
Simplemente seleccionamos lo que queramos desde un SELECT y lo contamos.
mysql_fetch_arrayCon esta función podremos mostrar los datos que nos devuelve una query:
Hacemos el select con * o filas separadas por comas (fila, fila), y mostramos los datos desde $variabledelarray['nombredefila']
$query = mysql_query("SELECT * FROM `usuarios` WHERE `usuario` = 'benito'");
$array = mysql_fetch_array($query);
if (funcion) {
echo "Tu nombre es $array['usuario'] y tu contraseña es $array['contrasena']";
}
mysql_fetch_row (por tope)Siendo la tabla:
usuarios
id -> 0
usuario -> 1
contrasena -> 2
email -> 3
fecha_registro -> 4
$query = mysql_query("SELECT * FROM `usuarios` WHERE `usuario` = 'benito'");
$array = mysql_fetch_array($query);
if (funcion) {
echo "Tu nombre es $array[1], tu contraseña es $array[2] y tu email es $array[3]";
}
¿Porque no pongo en nombre un "0"? porque sacariamos el id, ya que el primer valor de la tabla es id
Otro ejemplo:
ESTRUCTURA EJEMPLO DE ESTA TABLA:
usuarios
¿ id -> 0 ? || ESTO NO EXISTE PUESTO QUE NO LO HEMOS SELECCIONADO
usuario -> 1 || esto es ahora 0
contrasena -> 2 || esto es ahora 1
¿ email -> 3 ? || ESTO NO EXISTE PUESTO QUE NO LO HEMOS SELECCIONADO
¿ fecha_registro -> 4 ? || ESTO NO EXISTE PUESTO QUE NO LO HEMOS SELECCIONADO
$query = mysql_query("SELECT usuario, contrasena FROM `usuarios` WHERE `usuario` = 'benito'");
$array = mysql_fetch_row($query); // array[0] = usuario - array[1] = contrasena
echo "Tu nombre es $array[0] y tu contraseña es $array[1]";
Este tutorial es basico, lo he creado segun lo que me se, si algo está mal o falta decidmelo

Lo he creado sobre la marcha, no me vengais diciendo que lo copie de otro sitio, tal vez alla similitudes por que al fin y al cabo, se dice lo mismo...
Salu2.