Conectar PHP con MySQL

  • 13/08/2007
  • 12:42 am
  • unijimpe

Obtener registros de una base de datos MySQL utilizando PHP es una de las tareas mas comunes que se le presenta a todo desarrollador web, por ello les presentamos un pequeña guía para consultar registros utilizando PHP.

php-mysql.gif

Creando la Base de datos
Obviamente para este ejemplo necesitamos una base de datos que la llamaremos demo, dentro crearemos un tabla llamada empresa la cual tendrá los siguientes campos: idemp, nombre, direccion, telefono, imagen. Para los menos experimentados les dejo el script SQL para crear esta tabla.

mydb.gif

Conectando PHP y MySQL
Para obtener los datos desde MySQL necesitamos una conexión (una forma de enlazar o comunicarse), la cual nos permitirá extraer datos de la misma. Para ello PHP tiene una serie de funciones exclusivamente para interactuar con mysql. Entonces para la conexión utilizaremos la función mysql_connect y luego mysql_select_db el cual nos permite definir a que base de datos del servidor deseamos conectarnos.

PHP:
  1. $conexion = mysql_connect("localhost", "usuario", "clave");
  2. mysql_select_db("demo", $conexion);


Obteniendo registros de la Base de Datos
Una vez que tenemos una conexión lo siguiente es extraer los datos, esto lo hacemos enviando consultas SQL mediante la función mysql_query. También obtenemos el numero total de registros devueltos por nuestra consulta.

PHP:
  1. $queEmp = "SELECT * FROM empresa ORDER BY nombre ASC";
  2. $resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
  3. $totEmp = mysql_num_rows($resEmp);

Mostrando los resultados.
Finalmente mostramos los resultados obtenidos de nuestra consulta, para ello extraemos cada resultado utilizando la función mysql_fetch_assoc la cual devuelve una matriz asociativa utilizando los nombres de los campos de la tabla.

PHP:
  1. if ($totEmp> 0) {
  2.    while ($rowEmp = mysql_fetch_assoc($resEmp)) {
  3.       echo "<strong>".$rowEmp['nombre']."</strong><br>";
  4.       echo "Direccion: ".$rowEmp['direccion']."<br>";
  5.       echo "Telefono: ".$rowEmp['telefono']."<br><br>";
  6.    }
  7. }

Notese que primero hemos verificado si existen resultados y luego verificamos en cada pasada de la sentencia While si existe el siguiente resultado para luego mostrarlo. Asi como hemos consultado registros, podemos insertar, editar y eliminar registros enviando sentencias SQL a la base de datos. Para finalizar les dejo el ejemplo funcionando y también los archivos para descargar.

Posts Relacionados

Total de Comentarios: 39

Publicidad
13/08/2007
1:50 am

[...] El presente ejemplo explica como generar un reporte en PDF extrayendo datos de MySQL utilizando PHP. Este ejemplo lo hacemos aprovechando el post anterior en el cual explicábamos como obtener datos de base de datos MySQL. Para la generación de PDF utilizaremos la clase R&OS: pdf class de la cual ya hemos comentado en Generar PDF con PHP. [...]

Victor
14/08/2007
9:18 am

Hola,
Donde puedo bajar MySql y como lo instalo, ya tengo Apache 2.0.59 y Php 4.4.7, esta funcionado correctamente, ahora me falta instalar MySql, donde lo consigo, y como lo instalo, favor indicarme, estare muy agradecido por su respuesta.
Saludos,
Victor

14/08/2007
9:56 am

Mysql lo puedes descargar desde la página oficial http://www.mysql.com, para ser mas exacto puedes descargar la versión 4.1 desde: http://dev.mysql.com/downloads/mysql/4.1.html

Faby
11/10/2007
8:11 pm

Alguien sabe como conectar php-apache y sql server 2005 ayuda por fa

06/11/2007
1:39 am

la sentencia en php que puse no funciona ejemplo
$valor=$_POST["txtnombre"]
$result=mysql_query(”select * from clientes where nombre like ‘”.$valor “%’”);
yo pienso que mi consulta esta mal por fa una ayuda para mi consulta
de alexander

Yorman
11/11/2007
3:14 pm

no soy un profesional en la materia, pero creo que la las comillas simples que estas usando estan demas porque mysql toma mayusculas y minusculas por igual es decir no tienes por que hacer la transformacion eso es para Post gres… trata y disculpa si no es asi

Yorman
11/11/2007
3:17 pm

alguien me puede enviar o decirme como conseguir el archivo para genera Pdf mi correo es yrvegas@gmail.com

luis fernando
16/11/2007
5:23 pm

alguien me puede ayudar con informacion para generar consultas en php binculado con mysql y sqlserver

21/11/2007
8:20 am

me gusta tu contenido es super facil…ahora manejar php

Jorge
05/12/2007
11:00 am

Como puedo obtener el siguiente resultado: index.php?pag=pagina

18/12/2007
7:55 am

Utilizar una plantilla diseñada en FrontPage con PHP…..
Al momento de cargar la plantilla no me carga los elementos multimedia (imagenes, Animaciones, sonido ETC.)
Por fa si alguien pude ayudarme.. se lo agradezco de antemano.

Julian0223
20/12/2007
4:41 pm

Muy bueno este tutorial. y les recomiendo el easyPHP que contiene al apache, mysql y php en un solo paquete. y asi se libran de la instalada de cada uno que es un poco complicada…
Suerte

fredy g
09/01/2008
1:05 am

buena voz con el ejemplo corre ahhhh

10/01/2008
2:42 pm

MYSQL COM PASCAL

jhon m
10/01/2008
3:23 pm

¿Me proporciona mi proveedor de espacio web estos parámetros: “localhost”, “usuario”, “clave”?

Lury
15/01/2008
10:37 am

Hola soy novata en php y me gustaria saber mas, he probado el codigo para generar reportes en PDF pero muestra el siguiente error:
Warning: require_once(class.ezpdf.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\American Fruit\pdf.php on line 4

si alguien me puede ayudar.Este es mi correo abril23_87@hotmail.com
GRACIAS

joel
25/01/2008
9:20 pm

Excelente tutorial, la verdad me funciono a la primera, no sabes como estube buscando algo como esto pero no lo habia podido lograr ya que en “otras” paginas hay tutoriales pero estan verdaderamente muy muy confusos para novatos como yo, pero en cuanto llegue a este sitio comprendi claramente cada una de las partes como las explicas, en verdad gracias amigo, no sabes como habia tratado de hacer esto. Saludos a todos.

27/01/2008
12:12 pm

jhon m, esos datos te los proporciona tu proveedor web

27/01/2008
12:14 pm

Jorge, para recuperar usa desde el index.php

$valor=$_REQUEST['pag'];

luego lees $valor y ahi estara el contenido de la variable

jessica
07/02/2008
3:04 pm

Buenas, una pregunta.
Tengo una tabla con los datos de los usuarios (id_usuario(autointrement), nombre, contraseña).

Lo que quiero es que a la hora de que se registre un nuevo usuario…compruebe que ese usuario no existe ya en l abase de datos, he echo algo asi:

en una funcion:

require (”rutinas.php”);
$conexion=retornarConexion();
echo “$usuario”;
$usuario=$_POST['nombre'];
$queEmp = “select nombre from usuarios where nombre= $usuario”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);

if ($totEmp>0)
$error=$error . “EL nombre de usuario esta ya en uso”;

(donde he comprobado que la conexion esta perfectamente, nose lo que me falla pero lo he intentado de muchas maneras)

Alirio Rojas
07/02/2008
8:46 pm

Tengo instalado Apache, php y Mysql estoy tratando de conectarme a la base de datos pero me genera error, como lo estoy haciendo es asi

y me bota el error siguiente

Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Archivos de programa\Apache Group\Apache2\htdocs\conectar.php on line 2

me puden decir que estoy haciendo mal ?

Gracias

robert
19/02/2008
9:50 am

de cerrar la conexión ni hablar, no? xD

22/02/2008
8:20 pm

holas, toy por desarrollar un sistema de almacenes basado en php y mysql, con tres funciones basicas: 1) Ingreso/egreso de mercaderia, 2) consulta de stock y 3) kardex de productos.
si alguien a hecho algo similar quizas puedan darme una mano.
por cierto, buena la pagina.

22/02/2008
8:24 pm

consejo simple:
cuando tengan un problema , traten de brindar la informacion :
-Sistema Operativo Version/ distro(si es linux)
- version del Apache php o mysql, u otros que estan usando.
- que guia han seguido y si siguieron las recomendaciones al pie de la letra.
- cual es el mensaje de error

solo consejos

anamiyako
28/02/2008
2:14 pm

Buenas, quisiera preguntar si yo he hecho un software con php y sql, quisiera colocarlo en red como lo haria???

damayerlin
11/03/2008
2:39 pm

Bueno tengo una gran duda, ya que cree la base de datos en Mysql y las paginas en php, el problema es que cuando hice la conexion me pregunta sobre el localhost,usuario y password y no se cual es, ya que cree la base de datos por consola y no introduje ni el localhost,ni usuario y password estoy confundida alguien que me pueda ayudar por favor!!

alejo
01/04/2008
5:04 pm

solo kiero decirles ke son re tesos para esto y para kien tenga problemas con php y mysql server 2005 escribame ps soy experto en el tema, tengo tres especializaciones en desarrollo de software escribanme

astrid
08/04/2008
2:19 pm

hola soy principiante en esto de los reportes, estoy trabajando con php para crear los reportes y voy bien pero tengo un detalle que alguna informacion m aparece una encima de otra en ves de pasar a la siguiente linea…porfa el q pueda responder le agradesco un monto lo q sea tutorial sitios porfa si…gracias

Jorge
10/04/2008
10:54 pm

Excelente aporte me sirvio mucho, a proposito lo hice correr con WOS portable (que contiene mysql, apache y phpadmin juntos) y funcionó a la perfección

18/04/2008
3:17 pm

necesito saber como conectar php con mysql y la verdad hasta ahora estoy conociendo estos dos programas, gracias por su colaboracion

rene
23/04/2008
2:30 pm

ahi partes que no entiendo, pero me sirvio mucho, gracias

vitoria
13/05/2008
4:01 pm

quiesiera que me asosoraran, realice una base de datos en MYSQL y quiero enlazarla con PHP, alguien me quiere asesorar o enviar un link donde puedo encontra informacion de estes tema se lo agradeceria muchisimo.

juan carlos
14/05/2008
7:51 am

por favor alguien conose o sabe donde puedo encontrar el codigo que se utiliza para almacenar los datos ingreasados a un formulario creado en PHP a MySQL.

por favor si alguien me puede ayudar.

gracias

21/05/2008
7:06 am

Buenas!!!
Tengo un MySQl un un servidor en intenet (es de los gratis)!!! la cuestien es q no he podido entrar desde un php!! cada vez q busco las maneras de entrar (explicacion de tutoriales etc) me dice: $conexion = mysql_connect(”localhost”, “usuario”, “clave”);

pero como mi MySQL esta en internet cambio “localHost” por “sql100.260mb.com” coloco mi cuenta de usuario y la clave!!! pero no entra!!!

Sera q ustedes me pueden ayudar por fa????

21/05/2008
9:26 pm

Para acceder a un servidor MySQL de manera externa, debes habilitarle el permiso para el IP desde donde estas accediendo, puedes encontrar una pequeña ayuda en: Tutorial de Navicat

albermillan
08/07/2008
9:57 am

Pana necesito subir unos datos a mysql he intentado con muchos pasos pero no me funcionan!!! este q tu realizaste para ver los datos cargados en mysql me funciona perfect! pero ahora necesito cargar los datos (nombre, apellido y email) sera posible q me ayudas por fa!!!! gracias

kary
20/07/2008
6:27 pm

hola me gustaria saber como checar los datos por checkbox

Fran
31/07/2008
11:33 am

Buenas, estoy haciendo un script que me liste los productos de mi web. He cogido la bd demo y un script que listaba los productos de la base de datos demo, he modificado el campo de la bd, el usuario. Pero no se como debo modificar las lineas del echo.

echo “”.$rowEmp[0].”“;
echo “image: “.$rowEmp['image'].”";
echo “order: “.$rowEmp['order'].”";

Algun empujoncito me vendria bien.

Gracias

cristhian
22/09/2008
5:14 pm

como podria conectar el registro de mi pagina web con mi correo y a la vez con mi base de datos en MySQL?. En si ya tengo el registro conectado con el correo electronico solo me faltaria conectarlo con la base de datos simultáneamente ambos. que alguien me explique por favor…..

Enviar Comentario

(*)

(*)