Hacer consultas a bases de datos MySQL con PHP
Una consulta a una tabla de una base de datos con PHP consta de varias partes, veamos:
Lo primero que debe hacerse para mostrar los datos que reposan en una tabla de una base de datos es, hacer la conexión con la base de datos. Hay varias formas de hacer la conexión, veamos la manera mas sencilla (Aunque no la mas segura, pero esta bien para empezar):
mysql_connect('localhost','root','111111');
Con esta linea, indicamos que el servidor donde se encuentra el motor de base de datos, es el mismo desde donde estamos ejecutando el código PHP, osea localhost. Indicamos que usuario vamos a usar para consultar la base de datos, en este caso es root, recordemos que es necesario haberle asignado permisos de lectura de datos y acceso a la base de datos que vamos a consultar al usuario que vamos a usar, es poco aconsejable usar el usuario root para hacer consultas a la base de datos.
mysql_select_db('juarboExample');
Con la linea anterior, seleccionamos la base de datos con la que vamos a trabajar, algunas veces necesitamos trabajar con bases de datos que se encuentran en múltiples servidores, en este caso, tendríamos que haber metido la conexión a la base de datos dentro de una variable, y luego pasar esa variable por parámetro a la función mysql_select_db justo despues de el nombre de la base de datos, quedaria algo así:
$conexion = mysql_connect('localhost','root','111111');
mysql_select_db('juarboExample', $conexion);
Ahora, el siguiente paso es hacer la consulta, esta se puede hacer directamente en el query, pero para darle mas orden al código es aconsejable meterla dentro de una variable y luego llamar esa variable en el siguiente paso:
$consulta = "select * from juarboExample";
En este ejemplo, estamos seleccionando todos los registros de la base de datos juarboExample.
Ahora, mediante la función mysql_query hacemos realmente la consulta a la base de datos, seria algo así:
$queryConsulta = mysql_query($consulta);
Es importante meter el resultado del query dentro de una variable, en este caso llamada $queryConsulta para luego poder mostrar los resultados del query mediante otra función como la que veremos en el siguiente paso.
$resultados = mysql_fetch_assoc($queryConsulta);
Mediante la función mysql_fetch_assoc, metemos dentro de un array el resultado de la consulta, en este caso es un array asociativo, que ademas va moviendo un apuntador cada vez que es consultado, lo que nos permite, mostrar los resultados e ir llamándolos por el nombre de la columna. Para usarlo, debemos meter su resultado dentro de una variable que pasara a ser un array, y si vamos a mostrar varios resultados (que es lo mas lógico) podemos crear un ciclo con el array como condición, ya que mysql_fetch_assoc devuelve un "false" una vez no tenga resultados que mostrar, lo que hará que el ciclo termine, seria algo como esto:
while($resultados = mysql_fetch_assoc($queryConsulta)){
echo $resultados['nombre'];
}
Ahora bien, lo que nos queda adentro del ciclo es simplemente el código que está imprimiendo en pantalla el contenido de la columna nombre, si existen 40 registros, se mostraran 40 nombres, si existe uno, se mostrara uno. Para terminar, es aconsejable (Pero no es requisito ni arrojara ningún error), liberar la consulta y cerrar la conexión de la base de datos, lo hacemos con las siguientes funciones:
mysql_free_result($queryConsulta);
mysql_close();
Este solo fue un ejemplo básico para entender a grandes rasgos lo que se puede hacer con PHP para consultar una tabla de una base de datos, y repito una vez mas, existen mejores funciones, mas rápidas, mas optimas, mas seguras, y métodos que permitirán optimizar y mejorar bastante el código, eso lo veremos mas adelante.
[Solución] error: xml2-config not found. Please check your libxml2 installation.
Este error surgió al momento de hacer la configuración para instalar (Compilar) PHP-5.2 en Ubuntu, la verdad buscando en Internet encontré bastante documentación al respecto pero en el idioma Ingles, por lo que me doy cuenta que es un error mas común de lo que creía.
La solución es bastante simple, primero analicemos el problema:
Lo que nos dice es que no puede configurara xml2 y (en mi caso) cuando revise ya tenia instalado xml2 y libxml. Veamos la solución.
SOLUCION
Simplemente basta con instalar el paquete libxml2-devel o libxml2-dev es igual, cuando volvamos a seguir compilando PHP ya no generara este error y podremos instalarlo como debe ser
Mostrar Últimos Tweets
En esta oportunidad, les enseñare como mostrar los últimos Tweets en nuestro blog o sitio web, sin usar un código muy largo o una explicación muy complicada y sin necesidad de agregar o subir archivos a nuestro servidor.
Veamos simplemente analicemos las siguientes lineas de código que pegaremos en el lugar donde queremos mostrar nuestras ultimas actualizaciones de Twitter.
</ul>
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/usuario.json?callback=twitterCallback2&count=2" ?></script>
Ahora solo debemos modificar lo que esta en negrita, "usuario" por nuestro nombre de usuario de twitter, en mi caso "julianarmando" y el número "2" por el numero de Tweets que queremos mostrar.
Hacer Backup Bases de Datos MySql
Les explicare el método que tengo para hacer backups automáticos de las bases de datos de mis sitios alojadas en mi hosting compartido, este método funciona a la perfección cuando no podemos contratar con una hosting privado ni hacer uso de la consola en caso de que tengamos linux.
Les explicare de la forma mas simple y sin entrar en detalles, basta con tener los datos de usuario y contraseña de el "phpmyadmin" en muchos casos es igual al acceso del cPanel de nuestro sitio y listo con esto podemos hacer un respaldo de nuestras bases de datos y copiarlas a una carpeta de nuestro hosting, la cual podremos descargar después con algún gestor de descargas como wget
Veamos:
El código es bastante simple, en primer lugar y de color azul, vemos el comando system que se usa en PHP para mostrar el resultado de un comando que se ejecuta en la maquina donde se encuentra el archivo, en este caso el comando es el que se encuentra dentro de las comillas, luego el comando mysqldump lo usamos para hacer el backup (no profundizare sobre el) ahora después de -h viene la dirección ip o el host en donde se encuentra alojada la base de datos, en este caso y en la mayoría de los casos esta en el mismo servidor donde vamos a correr el código, así que ponemos localhost, luego después de -u se encuentra usuariobasededatos esto lo debemos reemplazar por el usuario que tiene acceso a esa base de datos, a continuación del -p debemos colocar la contraseña del usuario que tiene acceso a la base de datos (paswordbasededatos) e inmediatamente después debemos poner el nombre exacto de la base de datos que vamos a respaldar (basededatos) y por ultimo, después del signo ">" debemos poner la ruta y el nombre del archivo con el que se guardara el respaldo, este debe tener una extensión .sql (respaldos/basededatos.sql).
Si quieremos hacerlo desde la consola y tenemos acceso para ejecutar una terminal en nuestro servidor, simplemente debemos poner (basándonos en el mismo ejemplo) las mismas lineas de codigo que estan dentro del comando system, de la siguiente manera.
Ya el siguiente paso seria automatizar esto para que se generen respaldos cada cierto tiempo, no voy a profundizar en esto ya que simplemente se debe agregar una linea en el cronjob de tu servidor y listo.
Espero esta información les haya sido de utilidad, si tienen preguntas dejen sus comentarios
Actualizar Estado de Twitter con PHP
En esta oportunidad les mostrare lo fácil que es actualizar nuestro esta de Twitter o "Twittear" desde PHP usando la API Twitter PHP.
Para ello debemos usar el siguiente código, solo les explicare las partes que debemos modificar para que el funcione, además, vale aclarar que dividiré el código en dos partes ya que ambas partes se pueden poner en archivos diferentes haciendo la debida inclusión de el archivo para poder trabajar sobre esta API de Twitter, veamos:


