Archivo de la categoría: PHP

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.

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

Tutoriales PHP desde Cero (2012 – 2013 ?)

Para los que quieran aprender a programar en php, les dejo 2 recursos bastante buenos, para iniciarnos.

1) Es un video en donde nos muestran como configurar nuestro servidor web de manera local.

2) El segundo es un tutorial sobre todo lo que hay que saber sobre PHP.

 

Espero les ayude.

Tutorial PHP : Acá. Gracias a foros del Web!

Saludos!