Trabajar con bases de datos en PHP

Interés del empleo de bases de datos con páginas dinámicas. Presentación del lenguaje SQL y de la base MySQL. Pasos previos a los ejemplos.
Una de las principales ventajas que presenta el trabajar con páginas dinámicas del lado del servidor es el poder trabajar con contenidos que están alojados en bases de datos. De esta forma, podemos organizarlos, actualizarlos y buscarlos de una manera mucho más simple.

El lenguaje PHP, ya hemos dicho, ofrece interfaces para el acceso a la mayoría de las bases de datos existentes. Podrás encontrar bases de datos de código abierto, como MySQL, comerciales porpietarias como Oracle y además tiene librerías para acceso a datos por ODBC, lo que nos permite comunicar con todas las bases de datos posibles en sistemas Microsoft, como Access o SQL Server. Gracias a los juegos de funciones existentes para cada sistema gestor de base de datos, podremos realizar cualquier acción con los datos que necesitemos para el desarrollo de la más variada gama de aplicación web.

Esta interacción se realiza, por un lado, a partir de las funciones que PHP nos propone para cada tipo de base de datos y, por otro estableciendo un diálogo a partir de un idioma universal: SQL (Structured Query Language) el cual es común a todas las bases de datos. Este lenguaje resulta, como veremos en el tutorial de SQL, muy potente y fácil de aprender. A lo largo del manual de PHP nos limitaremos a la utilización las instrucciones SQL básicas, que serán aprendidas a medida que explicamos las diferentes formas de actuar sobre una base de datos, dejando para el tutorial de SQL los aspectos más avanzados de ese lenguaje de acceso a datos.

Como base ejemplo de estos capítulos hemos elegido MySQL, sin duda la base de datos más extendida en combinación con PHP. Su gratuidad, eficiencia y simplicidad la han hecho una buena candidata. No obstante, en caso de utilizar cualquier otra base compatible con PHP, las correcciones a llevar a cabo con respecto a nuestros ejemplos no son excesivamente grandes y la lectura de esos capítulos seguirá siendo de gran utilidad.

Nota: Ya hemos explicado en capítulos anteriores la instalación de MySQL, a la vez que hemos presentado los comandos básicos que nos pueden permitir abordarla con una relativa facilidad.

Configurar la base de datos que vamos a utilizar para los ejemplos de este manual

Una vez instalado MySQL y antes de poder comenzar con nuestros ejemplos, será necesario llevar a cabo las siguientes operaciones:

-Introducidos dentro de MySQL, crearemos la base de datos ejemplo con la siguiente sentencia:

create database ejemplo;

-Seleccionaremos la base ejemplo como la base a utilizar:

use ejemplo

-Crearemos a continuación la tabla clientes a partir de la siguiente sentencia:

create table clientes (
nombre varchar(100),
telefono varchar(100)
);

Ahora ya disponemos de nuestra tabla vacía. Sólo queda comenzar a llenarla con los datos que iremos insertando.

El conjunto de scripts utilizados para el bloque de bases de datos puede ser descargado aquí.

Guión de artículos relativos a las bases de datos en PHP

A lo largo del manual ofreceremos varios artículos, en los que trataremos cada uno de los accesos a la base de datos más típicos, como selecciones, actualizaciones o inserciones, siguiendo el siguiente guión: Para completar todo aquello que debes saber sobre el acceso a bases de datos en PHP encontrarás multitud de artículos prácticos en el Taller de PHP, como son la Recepción el último ID de una inserción con PHP y MySQL, la Paginación de resultados con PHP y MySQL, Programar un buscador con PHP y MySQL, etc.

Además, para los que prefieran verlo todo paso a paso en vivo, contamos con un videotutorial sobre las bases de datos en PHP que te ayudará a entender mejor cómo trabajar con las bases de datos en PHP.

Autor

Rubén Alvarez

Redactor de DesarrolloWeb.com

Compartir

Comentarios

Luis Felipe

28/6/2002
tengo entendido que PHP sólo trabaja con algunas bases de datos hasta la version 3, ahora mi pregunta es ¿en la version actual es posible trabajar con bases provenientes de access o Vstudio? y si no es asi, ¿existe la posibilidad (a corto plazo)?

RESPUESTA:

PHP trabaja con muchas bases de datos distintas. En su versión 3 ya era compatible con bases de datos como Access... a través de ODBC si estás en un sistema Windows.

Puedes acceder a la lista de bases de datos compatibles en el manual incluido en la documentación de PHP.net.

David

02/3/2003
Tengo una duda. Si quiero crear una base de datos para tenerla activa y utilizarla en mi web, ¿tengo que crearla en el directorio que utilizo como servidor?

RESPUESTA

Pues realmente depende del tipo de base de datos que estés utilizando. Posiblemente haya alguna que puedas colocar simplemente en el directorio, al igual que haces con los archivos. Lo habitual, no obstante, es que no sea así.

Generalmente tendrás una base de datos MySQL u otra base de datos de servidor. Estas bases de datos no tienen correspondencia en el sistema de archivos de tu web, que puedes ver por FTP, sino que están en un programa metidas que puede residir, incluso en otro servidor que el que sirve las páginas web.

Para acceder a tu base de datos tendrás que preguntar a tu proveedor, aunque generalmente te darán como mínimo un nombre de usuario, una contraseña y el nombre del servidor donde está la base de datos. Con esos datos podrás configurar cuando menos tus páginas PHP para que accedan a la base de datos y a través de programación de scripts podrías generar páginas para realizar todas las tareas de mantenimiento de la base de datos.

Adicionalmente, muchos proveedores incluyen algún software para gestionar la base de datos, ya sea a través de páginas PHP con algo parecido a PhpMyAdmin, o la posibilidad de conectarte con algún software de trabajo con bases de datos como puede ser Access o MyCC.

Espero que haya podido resolver tu duda, que me ha parecido más bien debida a que no tienes una buena base ni una idea exacta de lo que es un sistema de bases de datos de servidor.

En DesarrolloWeb.com podrás encontrar manuales y artículos muy interesantes para profundizar en este tema:

Taller de MySQL
PHP a fondo
PhpMyAdmin
Sistema de envio de postales (Para crear desde 0 una aplicación con base de datos)

carlos

16/6/2003
la verdad hasta ahora iba todo bien, pero cuando escribo CREATE DATABASE EJEMPLO; aparece un error que dice acceso denegado a usuario @d32... Será que acaso instalé mal mysql?

RESPUESTA

Será que el usuario con el que creas la base de datos no tiene permisos para hacerlo. Mira a ver si tienes un usuario root para hacerlo desde allí. Si tu base de datos está alojada en algún proveedor entérate de si es posible hacer esto o no.

edgar

20/11/2003
Tengo interes de trabajar mysql+apache+php. Instale mysql y quise hacer una prueba de coneccion con el siguiente commando

c:\mysql\mysql.exe

Me aparece un error "no hay comunicacion con LocalHost"

Por favor Auxilio..
Ayudenme

gracias

Lucio Canul

26/3/2004
para no tener que configurar nada, solo instalen el Appserv. y queda configurado el PHP, apche y MySQL.
Saludos

HECTOR

11/11/2005
¿Como puedo restringir una BD para delhi7?
Espero respuesta,GRACIAS

luis

05/12/2005
lo primero que tienes que hacer es ver la direccion de mysql

priaramente si lo tienes en c:

c:>cd mysql
c:>cd bin
c:>mysql

y ya esta

Angel

24/11/2008
Que es una base de dtos en php, y para que sirven????

Como puedo hacer consultas en php????????

Federico

30/12/2008
todo anda perfecto, solo que no me actaliza la base, solo me crea un campo vasio.
en modificar no modifica nada.
que puede ser?

Fernando

14/4/2009
duda
Acabo de seguir todos los pasos pero no me introduce los datos en mi base de datos y tampoco sale ningún mensaje de error. No lo entiendo.

sirenita

16/6/2009
Guardar datos del formulario en mysql y contador de personas inscritas
Quien podría ayudarme

Tengo un formulario en donde debo contar el número de inscritos y que no pase de límite establecido

Creo que debería tener en una base de datos los datos de las personas que se van inscribiendo y también irlos contando

Si alguien sabe hacerlo, me dicen para comunicarnos y cuántos me costaría

Es urgente ........ por favor

javitochiqitin

02/7/2009
Los registros aparecen vacíos
Hola a todos,

He seguido el tutorial paso a paso y parece que todo funciona bien excepto por una cosa: la información que introduzco en el formulario no aparece después, sin embargo si crea un registro de cada vez que introduzco los datos (vacío claro).

Alguien me podría ayudar???

Muchas gracias de antemano

carlos_enrique__londoo_garcia

02/9/2009
no almacena los datos
estoy trabajando con PHP Version 5.2.10 y este ejemplo me permite llevar los datos a la base de datos pero el contenido queda en blanco, coloque el tipo de datos en text y lo mismo, cambie los datos manualmente en la base de datos y el de lectura me trae los datos almacenados pero al ingresar uno nuevo siempre tomas blancos.

que puedo hacer

pamela

09/9/2009
Tengo un hotel necesito una pagina simple o una con base de datos??,
hola Tengo un hotel necesito una pagina simple o una con base de datos??,
considerando que mi hotel esta aun en sus comienzos.

Patricio

23/9/2009
Tengo un mensaje de Error
gracias x los ejemplos que das yo soy un novato en esto, bueno he seguido todos los pasos pero cuando ya ejecuto las paginas me sale este error cuando ingreso un registro
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:AppServwwwlectura.php on line 23

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:AppServwwwlectura.php on line 28
a que se debe este error?

dfr

29/4/2010
Ayuda
tengo instalado appserv 6 y necesito crear una base de datos... digito el siguiente código en la ruta especificada

C:AppServMySQL>create database inventario

y me dice "create" no se reconoce como un comando interno o externo...

también pruebo con este otro código

C:AppServMySQL>mysqladmin -u root create inventario

y me sale el siguiente: mysqladmin: connect to server at 'localhost' failed
error: 'access denied for user' root '@'localhost' <using password: NO>'

Me podrían indicar el código y/o la ruta donde debo digitarlo para crear la base de datos.

Gracias

Jhonatan

21/10/2010
No funciona
Buenas tardes.. estoy trabajando en un servidor local wamp server, creo la base pego los ejemplos.. pero no crea ningún dato. que puede ser el error???

gracias

arturo

25/2/2011
programa para crear el proyecto
tengo unda duda cuando se crea la base de datos en phpmyadmin en que programa creas el proyecto videotutorialphp porque aparece star page hasta arriba de la pagina y a partir de esa pagina creas el proyecto videotutorial, donde puedo descargar ese programa que maneja proyectos,por favor si me pueden ayudar.

karen

20/4/2011
Duda
Solo tengo una duda para poder trabajar con bases de datos y MySQL debo instalar algun otro programa? por ejemplo apache?
y Podrian recomendarme una pagina para descargar lo que tenga que descargar?