Conectar a una base de datos trabajando en local

funciones

Después de este paréntesis vamos a ver como conectar una base de datos con PHP. Todo muy básico por que quiero ir subiendo el nivel poco a poco.

Lo que primero debemos hacer es crear la base de datos, para eso váis a vuestro phpmyadmin y la creáis. (Cualquier duda en los comentarios lo podemos resolver y así vale para otros usuarios con las mismas dudas).

Creamos una carpeta en nuestro servidor local, en mi caso que utilizo MAMP la creo en htdocs, y dentro creamos una archivo, en mi caso conexion.php y escribimos lo que tenemos mas abajo.

IMPORTANTE: Según el nombre que le hayáis puesto a vuestra base de datos tendras que cambiarlo en el archivo, donde decimos a que base de datos vamos a conectarnos.

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Conectar a base de datos</title>
</head>
<body>

	<?php 
// Conectamos con la base de datos y almacenamos la conexión en la variable conexión 
		$conexion = mysql_connect("localhost", "root", "root");

		//creamos una condicional IF para estar seguros de que hemos conectado correctamente

		if(!$conexion) 
		{
			echo "No se ha podido conectar con el servidor" . mysql_error();
		}
		else
		{
			echo "Hemos conectado al servidor <br />";
		}

		//seleccionamos la base de datos a la que conectarlos, el primer parametro es nuestra BD y el segundo la conexion

		$db_seleccionada = mysql_select_db("post_webioss", $conexion);

		//Escribimos una condicional para que en el caso de que tengamos un error al conectar nos muestre un mensaje

		if(!$db_seleccionada)
		{
			echo "Hay un problema al seleccionar la base de datos" . mysql_error();
		}
		else
		{
			echo "Conectado correctamente a la base de datos <br />";
		}
?>

Una vez que creamos la conexión al servidor y a la base de datos, debajo de la etiqueta de cierre de HTML cerramos la conexión a la base de datos.


<body>
	</html>

	<?php 

		//cerramos la conexion SIEMPRE
		mysql_close($conexion);


	 ?>


Con esto y un bizcocho terminamos de conectarnos, como veís es mas fácil de lo que parece. En el siguiente artículo haremos una consulta a una tabla de esa misma base de datos y otro archivo donde podremos crear unas CONSTANTES para el nombre de la conexión, usuario y contraseña, como lo hace por ejemplo, WordPress en su archivo wp-config.php.

Gracias por leer el artículo y espero vuestros comentarios.

  • Miguel

    No se ve mal pero podrías utilizar el comando “or die” y creo que te ahorrarías el if de comprobación. Lo otro es que no es totalmente bueno mostrar el mysql_error() ya que muchas veces se muestran las rutas de los archivos PHP que intentaron realizar la conexino así como el nombre de usuario que intento realizar la conexión o los querys realizados y algún usuario mal intencionado con conocimientos de php y mysql te puede sabotear la pagina. Es preferible que no se muestre ningún error mysql, simplemente mostrar un mensaje de error. Puedes incluso crear una pagina de error personalizada y hacer un re-direccionamiento a dicha pagina de error como si estuvieras tratando con un error 404. Saludos.

    • http://www.webioss.com admin

      Hola Miguel, Gracias por tu comentario, la verdad es que tienes razón, pero quería hacer lo mas básico posible.

      El if no es mala Opción, ya que como es un tutorial básico quería que el que lo probará viera el mensaje de que ha conectado con éxito y en el caso contrario si que podriamos hacer un…

      header(location: /error.php)

      y mostrar un mensaje mas especifico.

      ¡Gracias por tu comentario Miguel!

  • http://www.blomster.com.ar German

    esta informacion me va a ser de gran utilidad para ofrecer otro tipo de servico en mi proyecto d ediseño de paginas y sitios web, muchas gracias !

  • http://creando nicolas

    hola quisiera crear una pagina web, tengo instalado mi server con apache y mysql, se me re complica ponerla en Internet, si alguien me puede dar una mano, tengo el TeamViewer para que la solución se mas fácil y rápida.

    • http://www.webioss.com admin

      Hola Nicolas, utilizas WordPress, que errores te muestra?

  • richard cacique

    gracia por sus información. Lo que estaba buscan era como enlazar mi base de datos com información lo ise. nuevamente gracia

    • http://www.webioss.com admin

      ¡Gracias a ti por tu visita!

  • ruben

    excelente.. me gusta el sistema basico que manejas.. luego los detalles podes desacer nada mas una vez que ya utilizarias en una web propia.. gracias por el tuto

    • http://www.webioss.com admin

      Gracias por molestarte en escribir un comentario, Me alegro que te haya servido.

      Un saludo!!

      • ruben

        admin.. hablando de eso estoy teniendo un problema que no me llega hasta el $db_seleccionada.. me sale error no se pudo conectar.. nose si sera un problema con mi servidor o el codigo esta mal.. si podes ayudarme por favor

        • http://www.webioss.com admin

          Ruben, puedes mostrar el código para que vea donde esta el fallo?

  • ruben

    //Defino las variables
    $host=”localhost”;
    $user=”root”;
    $pass=”*****”;

    //Abro la conexión
    $conexion=mysqli_connect($host,$user,$pass);

    if (!$conexion)
    {
    echo “no se pudo conectar, hubo error”; mysql_error();
    }else
    {
    echo “conecto a la Base correctamente con el usuario: “.$user.””;
    }
    //Selecciono la base de datos con la que trabajar
    $select_db=mysql_select_db(“db_name”,$conexion);

    if(!$select_db)
    {
    echo “no se pudo seleccionar la tabla, hubo un error “; mysql_error();
    }else
    {
    echo “se selecciono correctamente la base de datos “.$dbname.” excelente”;
    }

    tal cual como se ve es.. cuando tiro al servidor me dice que se conecto con el $user y abajo ya me sale no se pudo seleccionar la tabla hubo un error, y los datos son correctos

    • http://www.webioss.com admin

      Hola Ruben, recuerda que para abrir la conexión has utilizado mysqli y para seleccionar la bbdd tienes mysql_select_db, mysqli funciona con la versión 5.5.0 de PHP, que posiblemente es la que tienes, también te recomiendo que actives los errores para saber donde esta el error.

      Echale un ojo a la nuevas versiones de mysqli de php ya que si tienes la versión de php 5.5.0 posiblemente no te funcione mysql http://es1.php.net/manual/es/mysqli.quickstart.connections.php

      Espero que te sirva!!
      Un saludo!!

      • ruben

        excelente ya pille el error, muchas gracias manuel, un abrazo desde py

        • http://www.webioss.com admin

          Te iba a decir que te faltaba el $ en $db_name al cuando le pasas la variable a mysql_select_db de la bbdd.

          Me alegro Ruben, Saludos!!