Clase Sencilla para Conexión PHP – MYSQL

Comparto una sencilla clase que he utilizado recientemente para manejar mi conexión a una base de datos mysql y php, la misma me ha servido para reutilizar el código, lo cual es muy importante.

Importante mencionar que he utilizado la extensión mysqli, sus aportaciones son bienvenidas.

Un ejemplo sobre como podrían utilizarla:


require('db/dbManager.php');

$db = new dbManager();
$query = "Select * from la_tabla ";
$rows = $db->select($query);

foreach ($rows as $item)
{
echo $item['id'] . $item['a'] . $item['c'] . "<br>";
}

Y finalmente la clase:


class dbManager
{
protected static $connection;
public function connect()
{

/*
Funcion que nos devuelve la conexión hacia la base de datos, notese que obtengo
las credenciales desde un archivo de configuracion, evitando colocar las mismas en el script

*/
if (!isset(self::$connection))
{
$config = parse_ini_file("config/config.ini");
self::$connection = new mysqli('localhost',$config['username'],$config['password'],$config['dbname']);
}

if (self::$connection === false)
{
return false;
}

return self::$connection;
}

public function query($query)
{
/*
Se utiliza en sentencias DML (Manipulación de Datos)
Realiza una consulta a la base de datos
Si es una sentencia Select retorna un objeto mysqli_result
Si es una instruccion (INSERT, DELETE, UPDATE) returna True o False

*/
$connection = $this->connect();

$result = $connection->query($query);

return $result;
}

public function select($query)
{
/*
Funcion que devuelve un array con los datos resultantes de la consulta
*/
$rows = array();
$result = $this->query($query);
if ($result === false)
{
return false;
}

while($row = $result->fetch_assoc())
{
$rows[] = $row;
}

return $rows;
}

public function error()
{
/*
Devuelve una cadena que describe el ultimo error
*/
$connection = $this->connect();
return $connection->error;
}

public function quote($value)
{

/*
Escapa los caracteres especiales de una cadena para usarla
en una sentencia SQL
pensado para inyeccion SQL
*/
$connection = $this->connect();
return "'" . $connection->real_escape_string($value) . "'";

}

}

?>

&nbsp;

Configurar Conexión SQL Server con PHP (PHP + SQL Server 2008)

Una guía para realizar una conexión a una base de datos SQL Server mediante el lenguaje de programación PHP, la cual me decidí a realizar debido a que no encontré  mucha documentación para este curioso caso. 😉

Espero les sea de utilidad.

Entorno de trabajo:

  1. SQL Server 2008
  2. Servidor Independiente de Plataforma XAMPP (Apache) V3.1.0.3.1.0
  3. PHP Versión 5.4.7
  4. Windows 7

Primer Paso:

Debemos de descargar el driver oficial ofrecido por Microsoft, el cual se encuentra actualmente en su versión 3.0.

Lo pueden buscar en google o pueden acceder dando clic aquí.

Existen 2 versiones la 2.0 y la 3.0, ¿cuál usamos ? eso depende del Sistema Operativo que estemos utilizando, podemos ver las especificaciones, pongo la imágen de los requerimientos para el driver versión 3.0.

php sql server 1

Después de descargar los driver pasamos a descomprimir la carpeta, la cual contiene 8 archivos  con extensión .dll para la versión 5.3 y 5.4, además de unos pequeños instructivos.

ficheros dll

¿ Qué archivos utilizaremos ?

Para ello podemos crear  un fichero .php con la instrucción phpinfo(); para ver las caracterísitcas de la versión PHP que tengamos instalada. Este quedaría de la siguiente manera.

php info code

Abrimos con el navegador el fichero php para ver la información, de toda esa información nos interesan 2 cosas, que son las que nos servirán para identificar que ficheros .dll necesitamos. Las cuales son:

Compiler : en mi caso MSVC9 (Visual C++ 2008) .

compiler

Thread Safety: en mi caso su valor es enabled.

ts

Dependiendo de esos dos valores elegimos los dos archivos dll que nos serviran,  en mi caso:

php_pdo_sqlsrv_54_ts.dll

php_sqlsrv_54_ts.dll

54 por que mi versión PHP es la 5.4 y _ts por que mi versión PHP es thread safe ( Thread Safety  enabled).

Después de borrar los dll que no me sirve me queda así.

ficheros elegidos

Ahora que ya sabemos que archivos nos servirán debemos de pegarlos en la carpeta ext de php:

En mi caso la ruta es la siguiente: C:\xampp\php\ext

Hecho esto,  debemos de habilitar esos drivers en el archivo de configuración de PHP, el archivo php.ini

Para  abrimos el archivo con nuestro editor de texto favorito, nos situamos al final del documento y agregamos las siguientes líneas. Nuevamente recuerden que debe de tomar en cuenta su versión php (5.4 o 5.3) y si es thread safe o no lo es.

Para mi caso queda así:

php ini

Les dejo las posibles combinaciones para nuestro archivo de configuración dependiendo de la versión php y si son thread safe o no:

php ini 2

php ini 3

Hecho esto guardamos los cambios en el archivo php.ini y reiniciamos nuestro servicio de Apache.

Si consultamos la información mediante phpinfo() ya nos debe de aparecer el driver ya habilitado, de lo contrario debemos de revisar si hemos elegido bien los archivos .dll y haber escrito bien el archivo de configuración.

finalRealizando una consulta:

El driver proporcionado por Microsoft nos permite 2 tipos de autenticación:

  1. Autenticación de Windows
  2. Autenticación SQL Server

En el siguiente código muestro como acceder a una base de datos SQL Server mediante la autenticación de SQL Server.


<?php
/* Nombre del servidor. */
$serverName = "(local)";
/* Usuario y clave.  */
$uid = "juan";
$pwd = "123";
/* Array asociativo con la información de la conexion */
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>"BLOG");

/* Nos conectamos mediante la autenticación de SQL Server . */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "No es posible conectarse al servidor.</br>";
die( print_r( sqlsrv_errors(), true));
}

/* Query que nos mostrara el usuario con el que nos hemos conectado a la base de datos. */
$tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
echo "Error al ejecutar consulta.</br>";
die( print_r( sqlsrv_errors(), true));
}
/* Mostramos el resultado. */
$row = sqlsrv_fetch_array($stmt);
echo "User login: ".$row[0]."</br>";
/* Cerramos la conexión, muy importante. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>

Básicamente de esa manera logramos conectar PHP y SQL Server, la parte más complicada es saber que archivo dll necesitamos usar,  espero que este tutorial les pueda servir de guía.

Sus aportaciones serán bienvenidas.

Saludos.

Juan Alberto.

 

 

 

 

 

 

 

 

¿Cómo funcionan los navegadores Web?

Una pregunta que muy pocos se hacen, lo cierto es que hay ciencia en cualquier navegador.

Les comparto un artículo, en donde nos dejan las cosas un poco más claro. Saludos.

Pueden leerlo acá.

Leyendo este artículo puede saber ¿por qué algunos sitios web, no se ven de la misma manera en todos los navegadores?

 

Saludos.

 

Instalar Tomcat 7 en centOS, RHEL o Fedora

En este post, repasamos como instalar tomcat en nuestra estación de trabajo.

Requisitos: estar familiarizado con el sistema de archivos linux y conocer los comandos básicos del SO mencionado.

Paso 1) Instalar JDK 1.7

 

Lo primero que tenemos que hacer es instalar el Java Developmet Kit o JDK, el cual está disponible desde acá.

Debemos de tener mucho cuidado en descargar la versión (32 o 64 bits)

Una vez realizada la descarga, abrimos la terminal:

1) Creamos un nuevo directorio

[root@srv6 ~]# mkdir /usr/java

2) Nos colocamos en el directorio recién creado :

[root@srv6 ~]# cd /usr/java

3) Desempaquetamos el jdk descargado dentro de la carpeta 

tar -xzf jdk-7u5-linux-x64.tar.gz

 

Paso 2) Descargar y desempaquetar Tomcat 7.0

 

Descargamos la última versión del tomcat desde acá.

El paquete que descarguemos debemos de colocarlo en  el siguiente directorio; /usr/share

Mientras tanto en la Consola ….

1) Nos dirigimos al siguiente directorio: /usr/share

[root@srv6 ~]# cd /usr/share

2) Desempaquetamos el archivo :

[root@srv6 share ]# tar -xzf apache-tomcat-7.0.29.tar.gz

Paso 3) Configurar Tomcat como un Servicio

 

Ahora vamos a configurar tomcat como un servicio, para ello debemos de crear/modificar un par de archivos, hay que tener cuidado mientras trabajemos con ellos, esto si no queremos tener ningún percance.

1) Nos dirigimos al directorio /etc/init.d

[root@srv6 share]# cd /etc/init.d

2) Una vez en ese directorio escribimos lo siguiente:

[root@srv6 init.d]# vi tomcat

Lo que estamos haciendo es crear un archivo con nombre tomcat

tomcatservicescript

JAVA_HOME=/usr/java/jdk1.7.0_05 –> Acá lo que estamos haciendo es definir una variable de entorno, que apunta hacia el directorio en donde está instalada nuestra versión Java.

CATALINA_HOME=/usr/share/apache-tomcat-7.0.29 –> Acá lo que estamos haciendo es definir una variable de entorno, que apunta hacia el directorio en donde está nuestra versión tomcat

Lo demás forma parte de nuestro script.

4) Ahora debemos de darle permisos de ejecución a nuestro script, de la siguiente manera:

[root@srv6 init.d]# chmod 755 tomcat

5) Ahora debemos de utilizar la utilidad chkconfig para tener el arranque de tomcat en tiempo de booteo, escribimos lo siguiente:

[root@srv6 init.d]# chkconfig --add tomcat
[root@srv6 init.d]# chkconfig --level 234 tomcat on

6) Ahora verificamos que todo vaya bien:

chkconfig --list tomcat

Paso 4 : Arrancando Tomcat

Siempre en la terminal escribimos lo siguiente:

[root@srv6 ~]# service tomcat start

Después de ello nos debe de aparecer lo siguiente:

tomcatstart

 

 

Si todo va bien, al escribir lo siguiente en nuestro navegador debería de aparecernos la página principal de tomcat instalada en nuestro equipo.

tomcatindex

 

Muy bien, espero que esto les sirva o ayude un poco.

Saludos

Fuente

Instalando: Apache, Mysql, PHP en Ubuntu (Guía Rápida)

Hola, esta es una guía rápida sobre la instalación de un sistema de infraestructura LAMP. Manos a la obra.

Lo que debemos de hacer es dirigirnos a la terminal y escribir lo siguiente.

Instalando Apache

sudo apt-get install apache2

Después de la rápida instalación podemos ver si todo va bien, escribiendo localhost en cualquier navegador que tengamos instalado.

install-apache-php-mysql

 

Una vez que tengamos apache, proseguimos a instalar PHP en su versión 5.x

Instalando PHP

sudo apt-get install libapache2-mod-php5 php5

Después de la instalación procedemos a reiniciar apache, escribiendo esto en la terminal

sudo etc/init.d/apache2 restart

Ahora si todo va bien, podemos hacer una prueba, creamos un nuevo fichero .php en el que imprimiremos la información del php instalado, podemos utilizar gedit y escribir lo siguiente:

<?php phpinfo(); ?>

Guardamos el fichero con la extensión .php en el siguiente directorio:

/var/www/

Ahora procedemos a probar si todo va bien, escribiendo en la barra de direcciones de nuestro navegador lo siguiente:

localhost/test.php

install-apache-php-mysql 2

Muy bien, nos hace falta instalar Mysql, para ello escribimos en la terminal lo siguiente:

Instalando MySql

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

Durante la instalación de mysql, se nos preguntará por una contraseña, la que no deberemos de olvidar.

Eso es todo, espero que sea de ayuda. 


guatemala flag

 

 

 

 

 

 

Tutorial: Firmando nuestras aplicaciones BlackBerry

Me encuentro desarrollando una pequeña aplicación para dispositivos BlackBerry, desde la cual necesitaba hacer llamadas telefónicas.

Todo funcionaba bien desde el simulador, pero para mi sorpresa la aplicación no iniciaba cuando la ejecutaba en mi dispositivo.

Para poder hacer cosas como esa, es necesario firmar nuestras aplicaciones.

Firmando nuestra aplicación

Antes de poder distribuir nuestra aplicación para su uso en dispositivos BlackBerry debemos de firmarla.

¿Por qué es necesario firmar la aplicación?

Cada aplicación debe de ser firmada para permitir que RIM (Research In Motion)  genere un identificador único para nuestra aplicación y para que conozca las capacidades de la misma.

¿Cómo obtener los archivos para firmar nuestra aplicación?

Debemos de dirigirnos a este sitio, en donde debemos de llenar un formulario de petición. Como el que aparece a continuación.

formulario de registro

Después de llenarlo pulsamos el botón «submit«, en donde se nos hará saber que nuestra petición ha sido exitosa, y que recibiremos nuestros archivos para firmar la aplicación vía correo electrónico en un tiempo aproximado de 2 horas o un poco mas.

Después de ese tiempo recibiremos en nuestro buzón de entrada tres correos, cada uno con un archivo adjunto con la extensión .csi

Guarda esos archivos en un lugar seguro y en una sola carpeta, ya que solo puedes solicitar esos archivos una vez con el mismo Blackberry PIN.

Después de esto, realiza la siguiente secuencia.

1) Inicia Eclipse

2) En Eclipse > Window > Preferences > Blackberry Java Plug-in y Selecciona Signature Tool

3) En el panel principal, clic en el botón Install New Keys

4) Navega hasta el directorio en donde tienes los 3 archivos .csi, selecciona uno y da clic en abrir

5) Clic en el botón «Yes» to create a new Key pair file

6) Ingresa una contraseña que no se te olvide y confirmala, esta contraseña es importante ya que se deberá de ingresar cada vez que desees firmar una aplicación

7) Mueve el puntero de tu mouse para generar una nueva clave privada

8) En el campo de registro de PIN, ingresa el BlackBerry PIN, que utilizaste para solicitar los archivos .csi

9) Ingresa la contraseña que elegiste en el paso 6

10) Clic en Registrar y después Exit

11) Repite este proceso para los 2 archivos .csi restantes

¿Cómo firmo mi aplicación?

 

1) En Eclipse, clic derecho sobre tu proyecto

2) Elige la opción BlackBerry

3) Clic en Sign with signature Tool

4) Ingresa la contraseña que elegiste y listo

 

Bueno eso es todo, de cualquier manera recomiendo visitar el sitio de desarrolladores Blackberry.

 

 

 

Ubuntu : Instalando Software ( Error leyendo lista de paquetes )

Hace unos días, decidí instalar Ubuntu 13.04 en mi estación de trabajo. Todo iba muy bien hasta la hora de querer instalar desde la terminal el software que necesito para trabajar.

El error decia más o menos como esto:

Leyendo lista de paquetes… ¡Error!
E: Error de lectura – read (5 Error de entrada/salida)
E: No se pudieron analizar o abrir las listas de paquetes o el archivo de estado.

dummy

Al parecer durante la instalación ocurrió un error con la lista de paquetes y por ende no podía eliminar ni instalar nada.

La solución es la siguiente:

Abrirmos la terminal y escribimos los siguientes comandos

sudo rm /var/lib/apt/lists/* -vf

sudo LC_ALL=C apt-get update

… ahora ya podríamos utilizar el apt-get sin problemas.

Bueno espero que esto les funcione igual que a mi.

 

 

Tutoriales en Internet

Para nadie es un secreto, el hecho de que Internet y la tecnología han contribuido a que en estos momentos, se esté dando una revolución en la educación.

Cada vez, hay más universidades que ofrecen cursos no presenciales, a través de Internet, y cada vez existen más personas, que están dispuestas a brindar su conocimiento.

En Youtube existen una infinidad de tutoriales, de todo tipo. Sería bueno que existiese una buena página en donde reunir todos estos tutoriales y que le diera seguimiento 🙂

Curso completo de ASP.NET

Bueno este quizá sea el post más importante de este humilde blog.

Se trata de un curso completo de ASP.NET, para principiantes y para personas que tengan un poco de conocimiento sobre que es ASP.NET, la verdad es un curso muy bueno en donde aprenderemos desde como funciona internamente, hasta como desarrollar aplicaciones web con ASP.NET.

Espero les sea de mucha utilidad.

PD: Subí el curso a MEGA, asi que no hay excusas.

4zeimmsdyc58esq34wbiSaludos desde Guatemala.