Você está na página 1de 22

PHP 5 y MySQL

Objetivos
Entender el Funcionamiento de los Arreglos Conocer la forma de conectarse a un servidor de bases de datos.
Realizar consultas y recuperar los datos de distintas formas. Recuperar el nmero de filas que intervienen en una consulta.

Crear nuevas bases de datos y tablas.

Arreglos
Introduccion: Un array (Arreglo) es una coleccin de valores con un nico nombre. Para acceder a los distintos valores de la variable se utiliza un ndice numrico o alfanumrico. Nos vamos a servir de la definicin de un array en el lenguaje C, para ver la potencia de este tipo de datos en PHP. La definicin es la siguiente:
int miArray[100]; //Esto es C

Lo primero que debe llamarnos la atencin es que la variable est predefinida como int (entero).

En PHP los arrays no tienen que definirse de una forma concreta, sino que pueden tomar distintos tipos de valores: enteros, caracteres, objetos, etctera.
Lo siguiente es que, en C, se necesita saber de antemano el nmero de valores mximo que podr tomar el array. Esto no es necesario en PHP, ya que podr ir creando valores nuevos a medida que lo vaya necesitando. Lo ltimo es que en C el ndice para acceder a los 100 valores distintos debe ser numrico; en cambio, en PHP, el ndice puede ser

<?php $miArray[l] = 23; $miArray[2] = "Este valor es un string"; $miArray["ejemplo"] = "Esto es un array asociativo"; ?>

Creacin de arrays
Vamos a ver tres formas distintas de crear un array dentro de un script de PHP. Asignacin directa

El camino ms simple y, por otro lado lgico, es asignar valores cuando se


necesiten. La primera vez que asignemos un valor, el array se crear en el entorno: <?php $miArray[l] = 23; // Asignacin directa ?> De esta forma tenemos un valor asignado al ndice 1 del array. Puede asignar cualquier ndice en la creacin de este tipo de dato, e incluso no asignar ninguno, de forma que PHP se encarga de asociar un ndice distinto para cada valor. <?php $miArray[] = 23; // Empieza en el ndice 0 $miArray[] = 54; // ndice 1 ?>

array() Esta funcin crea un array con los valores que pase como datos de entrada. Los ndices sern aadidos automticamente empezando desde 0. Si no asigna parmetros a array() , la funcin le devolver un array vaco. <?php $mi_array = array(23,45,76,23,65); ?> El mtodo es similar a: <?php $miArray[0] = 23; $miArray[l] = 45; $miArray[2] = 76; $miArray[3] = 23; $miArray[4] = 65; ?>

La funcin a r r a y () permite tambin aadir ndices a los valores que se introducen. Para ello se utiliza el operador => de esta forma: <?php $miArray = array(0 => 23, 1 => 45, 2 => 76); ?> Tambin es posible aadir ndices que no sean correlativos o ndices alfanumricos, incluso mezclar los dos tipos. <?php $miArray = array("cero" => 23, "uno" => 45, 2 => 76); ?>

Para recuperar cualquier valor se utiliza el ndice dentro de los corchetes:

<?php $miArray = array("cero" => 23, "uno" => 45, 2 => 76); echo $miArray [ "uno"]. "<br>"; echo $miArray[2] ; ?>

Funciones que devuelven arrays


La ltima forma de obtener un array es utilizando alguna de las funciones que devuelven este tipo de datos. Es muy frecuente que las funciones que manejan bases de datos devuelvan las ocurrencias dentro de un array. Por ejemplo, la funcin range () devuelve un array con valores numricos, que van desde un nmero de inicio hasta un nmero final tal y como se muestra en el ejemplo: <?php $miArray = range(120,130) ; ?> Esta funcin crea un array, empezando desde el ndice 0 y el

Arrays multidimensionales
Hasta aqu hemos visto ejemplos de arrays de una sola dimensin. PHP soporta el uso de arrays de varias dimensiones fcilmente, aunque son algo complejos. <?php $colores = array( "fuertes" => array ( "rojo" => "FF0000", "verde" => "00FF00", "azul" => "0000FF"), "suaves" => array ( "rosa" => "FE9ABC", "amarillo" => "FDF189", "malva" => "9A2F68")); echo $colores["fuertes"] ["rojo"];

Interactuar con arrays


La estructura foreach se utiliza de la siguiente manera: <?php $ciudades = array ("Badajoz","Mrida","Cceres","Plasencia"); foreach ($ciudades as $indice => $valor) {
echo ("El ndice $indice tiene el valor: $valor =$ciudades[$indice]<br>") ;

} ?>

SQl
La estructura bsica de una base de datos SQL es muy

sencilla. Los datos de una base de datos se almacenan en TABLAS, donde cada fila identifica unvocamente a un elemento distinto.
La tabla de usuarios tendr tantas filas como usuarios

tenga la pgina Web. Cada tabla puede definir varias columnas. Las columnas hacen referencia a las propiedades de cada fila.
La tabla de usuarios podra tener como columnas el

cdigo de usuario, el nombre, los apellidos y la direccin postal.

El lenguaje SQL nos permite elegir varias filas

atendiendo a un criterio, insertar nuevas filas, actualizar los datos o borrarlas, con las sentencias SELECT, INSERT, UPDATE y DELETE respectivamente.

Este lenguaje permite slo manipular los datos

contenidos en las tablas.


Si se quiere modificar la estructura tiene que apoyarse

en el lenguaje de definicin de datos que le permite crear nuevas tablas o bases de datos, insertar nuevas propiedades en forma de columnas o borrar tablas, con las sentencias CRATE, ALTER y DROP respectivamente. Para seguir los ejemplos, vamos a basarnos en una pequea base de datos con tres tablas

PHP 5 soporta muchos de los gestores de bases de

datos relacinales existentes en el mercado. Las dos alternativas ms comunes son PostgreSQL y MySQL.
Aunque PostgreSQL es mucho mejor en cuanto a

caractersticas y funciones soportadas del SQL 92 estndar, MySQL se ha hecho ms popular en el ambiente de los servidores Web. Cuando los servidores Web ofrecen su servicio como LAMP se refieren a Linux + Apache + MySQL + PHP.
Este captulo cubre las operaciones ms comunes que

los desarrolladores de PHP pueden hacer con MySQL, desde recuperar o modificar datos, buscar textos o hacer una copia de seguridad de la base de datos.

Administracin de usuarios
Una gran parte del uso de la seguridad y efectividad

de MySQL tiene que ver con comprender el sistema de privilegios. MySQL permite dar permisos al detalle basndose en grupos, usuarios, conexiones y comandos a utilizar. En teora, se puede dar privilegios a ciertos usuarios para que slo puedan escribir en algunas columnas de varias tablas. Es una buena idea dar a cada usuario los permisos mnimos necesarios para que pueda interactuar con su base de datos.

Conexin a MySQL
La conexin no puede ser ms sencilla. Es un proceso de dos pasos: Se conecta con el servidor de MySQL. Se solicita la conexin a una base de datos especfica. Es importante recordar que MySQL es un servidor que puede estar alojado en el mismo ordenador que PHP 5, o en otro diferente. Para conectar a MySQL es necesario enviar como parmetros la direccin del servidor, el usuario y la contrasea.

<?php $servidor = "localhost"; // Puede ser tambien 127.0.0.1 o Publica $usuario = root"; $pass = ""; En este Caso no Requiere Contrasea $baseDatos = ejemplo"; //Conexin al servidor de bases de datos $descriptor = mysql_connect($servidor,$usuario, $pass) ; //Se selecciona la base de datos mysql_select_db($baseDatos,$descriptor); //Se cierra la conexin cuando terminemos mysql_close ($descriptor) ; ?>

La funcin mysql_connect () permite conectar a un servidor. En este caso, hemos puesto como servidor a l o c a l h o s t porque estamos utilizando nuestro ordenador local para hacer las pruebas. Otra cuestin importante es que el servidor MySQL puede almacenar varias bases de datos de un mismo usuario, por eso tenemos que utilizar la funcion mysql_select _db(), para seleccionar la que queremos utilizar.
Por ltimo, tenemos la funcin mysql _close() que se

encarga de cerrar una conexin con el servidor. C:\wamp\www\diseno\mysql\conec\mysql.php

Manipulacin de datos
Seleccionar datos de una base de datos es slo el principio; la potencia de

SQL nos permite tambin insertar, actualizar y borrar filas de una tabla. Con el objeto que hemos creado es muy sencillo hacer consultas del tipo INSERT, UPDATE o DELETE, llamando al mtodo consulta () . Insertar una fila Para insertar una fila con nuestro objeto, tendremos que definir la consulta y ejecutar el mtodo consulta () . <?php require_once(conec\mysql.php.php); $servidor = "localhost" ,$usuario = "root"; $pass = "" ; $baseDatos = ejemplo"; $insertar = "INSERT INTO usuario (nombre,cuenta) VALUES ("Cristina",2119) " ; $usuario = new Servidor_Base_Datos($servidor,$usuario,$pass,$baseDatos); $usuario->consulta($insertar); ?>

Actualizar una fila


<?php require_once("conec\mysql.php"); $servidor = "localhost"; $usuario = "root"; $pass = "" ; $baseDatos = ejemplo"; $consulta = "SELECT IdUsuario FROM usuario WHERE nombre=Barack obama'"; $usuario = new Servidor_Base_Datos($servidor,$usuario,$pass,$baseDatos); $usuario->consulta($consulta); $fila = $usuario->extraer_Registro() ; $id_usuario = $fila[IdUsuario"] ; $actualizar = "UPDATE Usuario SET cuenta=9999 WHERE id_usuario='$id_usuario'"; $usuario->consulta($actualizar); ?>

Borrar una Fila

Você também pode gostar