Conexión a base de datos con ASP

En esta ocasión mostraré como realizar una conexión a una base de datos usando el lenguaje ASP.

StrMySql=»driver={MySQL ODBC 3.51 Driver};
server=localhost;uid=usuario;pwd=contraseña;database=nombre.base.datos»
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open StrMySql

En este código comenzamos indicando el driver que manejara la base de datos, en este caso usamos una base de datos mysql, a continuación introducimos los datos de acceso a la base de datos (usuario, contraseña, nombre de la base de datos), con la llamada Server.CreateObject crearemos una conexión valida que llamaremos Conn, para terminar utilizamos la propiedad Open e introducimos toda la información de acceso que hemos preparado.

Normalmente utilizaríamos este código dentro de una pagina .asp la cual incluiríamos en el código de la página que nos interesase para abrir esta conexión a la base de datos y poder trabajar con la información que contiene.

A continuación un ejemplo de como usar el fichero que hemos creado para conectarse a la base de datos.

<%session.codepage=65001%>

<!--#include file="includes/bd.asp"-->

<% sql = "select * from coches_n where modelo = '"&request("modelo")&"' and marca='"&request("marca")&"' and ano='"&request("ano")&"' and version='"&request("version")&"' order by ano asc"

set coche = conn.execute(sql)
if not coche.eof and not coche.bof then

end if
coche.close
set coche = nothing
conn.close %>

 

Rescatar un sólo valor de nuestra base de datos mysql

php_y_mysql-500x270

Hay ocasiones, dependiendo de la estructura de nuestra web y base de datos que necesitemos leer un sólo dato, para realizar esta labor os muestro una función que nos permitirá conseguir esta información en una sola linea de código sobre una base de datos mysql.

function SacarDato($tabla, $dato_sacar, $dato_relaciona, $dato_es, $condicion)
{
$link_SacarDato=Conectarse();
$nombre="";
$query="select $dato_sacar from $tabla where $dato_relaciona = '$dato_es' $condicion limit 1";
$result=mysql_query($query, $link_SacarDato);
if(!$result)
{
}
else
{
$row=mysql_fetch_array($result);
$nombre=$row[$dato_sacar];
mysql_close($link_SacarDato);
mysql_free_result($result);
}
return $nombre;
}

Esta función necesita algunos valores necesarios para realizar la consulta que nos devuelva el dato o valor que estamos interesados.

SacarDato($tabla, $dato_sacar, $dato_relaciona, $dato_es, $condicion)

$tabla: Será el nombre de la tabla sobre la que haremos la consulta.
$dato_sacar: El nombre del campo donde esta almacenado el dato o valor que queremos mostrar.
$dato_relaciona: El nombre del campo sobre el que realizaremos el filtrado.
$dato_es: el valor que completará el filtro.
$condición: Este campo es para completar la consulta, en los casos que necesitemos mas valores para filtrar, agrupar, etc…

Usando la función mysql_query, realizaremos la consulta y siempre que nos devuelva un valor correcto, lo incluiremos en la variable $nombre que será la que utilizaremos para mostrar ese valor.

A continuación un ejemplo de como podríamos sacar el nombre de un producto utilizando esta función:

$valor_=SacarDato(PRODUCTOS, "NOMBRE", "articulo", $valor, "");

 

Creación web

Conectarse a una base de datos mysql

Dentro de la gran variedad de recursos que nos ofrece un lenguaje como php, esta el leer y grabar información en una base de datos.

Para ello os muestro una función que suele ser indispensable en cualquier desarrollo que se lleve a cabo, esta nos permite conectarnos a una base de datos mysql e intentare explicarla a continuación:

function Conectarse()
{
if (!($link=mysql_connect("ubicación","usuario","contraseña", true)))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("nombreBaseDatos",$link))
{
echo "Error seleccionando la base de datos. 0";
exit();
}
return $link;
}

Esta función que llamaremos Conectarse(), realiza una consulta en el servidor donde:



mysql_connect(«ubicación»,»usuario»,»contraseña», true)
– Ubicación será la dirección donde se encuentra nuestra base de datos, normalmente «localhost», o donde nos indique nuestro proveedor de hosting.
– Usuario: es el nombre de usuario con el que se ha creado la base de datos o le hemos dato permiso para poder acceder a la misma.
– Contraseña: la contraseña que junto al usuario, dan acceso a la base de datos.
– NombreBaseDatos: el nombre que tiene o hemos asignado a la base de datos.

Para conocer más sobre la función mysql_connect http://php.net/manual/es/function.mysql-connect.php

Para conocer más sobre la función mysql_select_db http://www.php.net/manual/es/function.mysql-select-db.php

Una vez establecida la conexión busca la base de datos que indicamos en la siguiente linea:

mysql_select_db(«nombreBaseDatos»,$link)

Si todo ha sido correcto nos devuelve un indicador que utilizaremos para realizar las consultas (SELECT, INSERT, DELETE, UPDATE) sobre la base de datos.

 

Hostings, servidores y otras cajas

 

google-datacenter-tech-13
google-datacenter-tech-13

En mi caso describo Internet como un gran armario lleno de cajones, más grandes o pequeños, mejores o peores, donde al abrirlos nos muestra su contenido, es decir las páginas web que tienen guardadas en su interior.

Todo aquel que quiere comenzar su andadura en internet deberia tener claro el tipo de cajón que necesita para su página web.

servidor

¿Que necesita mi página web?

Para responder esta pregunta debemos tener claro el contenido que tendra nuestro sitio web, si será un contenido que cambie continuamente o será estatico. Si queremos modificarlo nosotros mismos o no. En este punto podemos dividir nuestro sitio en 2 tipos de cajones, los que necesitan base de datos y los que no.

Es decir si mi idea de página web es indicar quién soy o es mi empresa, a lo que nos dedicamos, donde nos pueden localizar (fisica y digitalmente) y es una información que no modificaremos en un futuro próximo no necesitaremos una base de datos.

Si por el contrario queremos tener un catalogo de producto o servicios y control sobre el mismo para poder modificar los textos, fotos, etc, en este caso si necesitaremos una base de datos.

La diferencia entre una opción y otra se observa claramente en el precio de los servicios, mientras un hosting sin base de datos podria oscilar unos 15€ al año, uno con base de datos podria suponer a partir de 50€ anuales. Por ello la importancia de saber que queremos hacer antes de comenzar, sobre todo si tenemos un presupuesto ajustado.

Necesito una base de datos, ¿Que más me interesa?

Para contestar a esta premisa, debemos tener en cuenta, el trafico que estimamos tendrá la página, el lenguaje de programación que utilizará, el tamaño de la o las bases de datos que necesitemos.

El trafico que necesitará nuestra web dependerá del contenido, no tiene las mismas necesidades una tienda online, que un canal de videos o un blog. Por suerte cada vez más los proovedores de hosting nos ofrecen un tráfico ilimitado en la mayoria de planes, lo que nos ahorra dolores de cabeza en este punto.

Sobre el lenguaje de programación, nos referiremos al lenguaje con el que crearemos la página o si viene ya creada que lenguaje utiliza, actualmente disponemos como mayoritarios el lenguaje ASP o .NET, creado por Microsoft y el lenguaje PHP, este último es el más utilizado en la actualidad dado la gran variedad de recursos que ofrece y la popularidad que desde hace unos años va en aumento. Debemos tener muy claro que lenguaje se utiliza porque cambiar un desarrollo de uno a otro puede ser un autentico trabajo de chinos, ya que el lenguaje defino el tipo de caja donde ira alojada nuestra web, asi como el tipo de base de datos que utilizaremos o distintas herramientas de seguridad y optimización que variarán para cada lenguaje.

En la actualidad hay algunos proveedores de hosting que ofertan planes mixtos, mi consejo es que sólo sirven para pruebas ya que estos servidores no nos permiten aprovechar al máximo ninguno de los 2 lenguajes de programación.

Hablando sobre las bases de datos, nos encontraremos con la misma duda que ante el tráfico y aventurarse a dar un tamaño aproximado para un tipo de página u otro es complicado, generalmente debemos tener en cuenta la información que contendrá esta base de datos y si esta información aumentara mucho a corto plazo.

servidores_administrados_strsistemas_vs_servidores_dedicados

¿Ya tienes claro lo que necesitas?

Si has llegado hasta aquí y tienes una idea del tipo de página que vas a tener en internet el siguiente punto que deberias meditar es si quieres estas sólo o acompañado. Por norma general los proveedores de hosting ofertan para planes con base de datos dos tipologias, el servidor compartido y el servidor dedicado, las diferencias primordiales entre ambos radican en la gestión y el precio.

Un servidor compartido significa que tu página se encuentra en el mismo cajón que otras, esto te puede afectar cuando algúno de tus «vecinos» no haga las cosas correctamente. Para ampliar información sobre servidores compartidos y sus vecino: http://carlosherreroa.es/vecinos-incomodos-con-quien-comparto-mi-servidor/

Por otro lado encontramos los servidores dedicados, son bastante más caros que un servidor compartido, a cambio tenemos a nuestra disposición todo el rendimiento del servidor que hayamos contratado y podemos tener control de todo lo que ocurre en el mismo.

Si tras leer esta entrada sigues con dudas, te invito a que las indiques en los comentarios donde intentaremos resolverlas.