Mostrando entradas con la etiqueta PDO. Mostrar todas las entradas
Mostrando entradas con la etiqueta PDO. Mostrar todas las entradas

jueves, 18 de diciembre de 2014

DataTables Plugin con jQuery UI, PHP PDO y MySQL





Autor: SoldierCorp :: Desarrollo Web y Gaming

Título: DataTables Plugin con jQuery UI, PHP PDO y MySQL

Descripción:

Tutorial sobre como convertir una tabla HTML a un formato de tabla estructurada con paginación, búsqueda en tiempo real, etc. utilizando el plugin jQuery DataTables mediante la obtención de datos desde una tabla en MySQL con la clase PDO de PHP para la conexión con la base de datos.

Código en GitHub: https://github.com/SoldierCorp/Ejempl...

jQuery UI: http://jqueryui.com/download/
DataTables: http://www.datatables.net/download/
PHP PDO: http://php.net/manual/es/book.pdo.php

Otras sugerencias de Youtube ...



miércoles, 30 de julio de 2014

Ejecutar consultas SELECT con PDO Mysql


Bienvenid@s, hoy veremos como ejecutar consultas SELECT mediante la extensión PDO conectando al driver Mysql.

Para el ejemplo vamos a crear una base de datos de ejemplo llamada "pdo" y crearemos la siguiente tabla llamada "usuarios", simplemente una vez que hayas creado la base de datos "pdo" copia el código y ejecuta una consulta SQL en PHPMyadmin:


CREATE TABLE IF NOT EXISTS `usuarios` (
  `id_usuario` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(80) NOT NULL,
  `apellidos` varchar(80) NOT NULL,
  `email` varchar(80) NOT NULL,
  `password` varchar(100) NOT NULL,
  PRIMARY KEY (`id_usuario`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4;

--
-- Volcado de datos para la tabla `usuarios`
--

INSERT INTO `usuarios` (`id_usuario`, `nombre`, `apellidos`, `email`, `password`) VALUES
(1, 'usuario1', 'apellido apellido', 'usuario1@mail.com', '27c2316952343b414e81633e81f91634e19fd6ee'),
(2, 'usuario2', 'apellido apellido', 'usuario2@mail.com', '78dff851963cc401961288c9aa909ff8e862fd83'),
(3, 'usuario3', 'apellido apellido', 'usuario3@mail.com', '6d575a7e2632f50e7591ffdf5e5d75300f14b0ab');

Bien, ahora crearemos un archivo llamado select.php y le agregaremos el siguiente código para extraer todas las filas de la tabla "usuarios":

/* Establecer la conexión */
$conexion = new PDO("mysql:dbname=pdo;host=localhost", "root", "password");

/* Consulta SELECT para extraer todos los registros */
$sql = "SELECT * FROM usuarios";

/* Preparar la consulta */
$query = $conexion->prepare($sql);

/* Ejecutar la consulta */
$query->execute();

echo "<table cellpadding='5' border='1'>\n";
/* Recorrer una a una todas las filas */
while ($fila = $query->fetch())
{
echo "<tr>\n";
echo "<td>".$fila["nombre"]."</td><td>".$fila["apellidos"]."</td><td>".$fila["email"]."</td><td>".$fila["password"]."</td>\n";
echo "</tr>\n";
}
echo "</table>\n";




Bien, en este caso hemos seleccionado todos los registros, pero se puede dar el caso de que queramos seleccionar una fila en concreto, para ello cambiaremos ciertas cosas en el código, pero sobre todo observa como vinculamos el parámetro :parametro a la consulta, esto nos proporcionará seguridad contra la inyección SQL ...


/* Establecer la conexión */
$conexion = new PDO("mysql:dbname=pdo;host=localhost", "root", "password");

/* Consulta SELECT para extraer un registro. ¡ten en cuenta que estamos vinculando un parámetro! */
$sql = "SELECT * FROM usuarios WHERE id_usuario=:parametro";

/* Preparar la consulta */
$query = $conexion->prepare($sql);

/* Ahora vinculamos el parámetro con el valor */
$id_usuario = 1;
$query->bindParam(":parametro", $id_usuario);

/* Ejecutar la consulta */
$query->execute();

/*Si la fila existe: rowCount() regresa el número de filas afectadas*/
if ($query->rowCount() > 0)
{
/* Obtenemos la fila */
$fila = $query->fetch();
print $fila["nombre"] . ", " . $fila["apellidos"] . ", " . $fila["email"] . ", " . $fila["password"];
}


Ok, como podemos ver hemos extraido sólo la fila con id_usuario =  1. Trabajar con PDO ofrece muchas ventajas y como habéis podido ver en estos ejemplo no es nada complicado, pero si es esencial el hecho de comprender el modo de vincular parámetros en las consultas para dar más seguridad y orden a las consultas.


lunes, 28 de julio de 2014

Conexión a distintos drivers con PDO


Bienvenid@s, hoy veremos la estructura que debemos seguir para conectar a los siguientes drivers: mysql, sqlite, pgsql y sqlsrv. Todos ellos son compatibles con la extensión PDO (PHP Data Objects):

mysql

         $driver = 'mysql';
         $dbname = 'dbname';
         $host = 'localhost';
         $user = 'password';
         $password = 'password';
         $connection = new PDO("$driver:dbname=$dbname;host=$host;", $user, $password);


sqlite

         $driver = 'sqlite';
         $dbname = '../application/Database/test.sqlite';
         $connection = new PDO("$driver:$dbname");;


pgsql

         $driver = 'pgsql';
         $dbname = 'dbname';
         $host = 'localhost';
         $port = 5432;
         $user = 'root';
         $password = 'password';
         $connection = new PDO("$driver:host=$host;port=$port;dbname=$dbname;user=$user;password=$password");


sqlsrv

         $driver = 'sqlsrv';
         $dbname = 'dbname';
   $host = 'localhost';
         $user = 'root';
         $password = 'password';
         $connection = new PDO("$driver:Server=$host;Database=$dbname", $user, $password);



lunes, 12 de mayo de 2014

SlimDb PHP - Clase para conectar a diferentes tipos de gestores de bases de datos usando PDO


SlimDb es una clase que te permite conectar a diferentes tipos de gestores de bases de datos usando las extensiones PDO.

Autor:  Marcelo entraigas

Descargar:  SlimDb

En la clase puedes incluir a través de parámetros de configuración el driver al que se debe llamar. Soporta operaciones como ejecutar consultas SQL arbitrarias usando comandos preparados, recuperar resultados en arrays, obtener el último identificador de registro de la tabla insertada u obtener cualquier información de una tabla.

Puedes realizar operaciones CRUD comunes como CREATE, READ, UPDATE y DELETE a través de una lista de parámetros que definen las tablas, campos, valores de los campos, las condiciones, etc.

En el archivo README.md puedes encontrar distintos ejemplos de como utilizar la clase SlimDb para conectar y generar consultas.

 




martes, 25 de febrero de 2014

Hacer consultas con PDO PHP


Bienvenid@s a continuación vamos a ver como realizar consultas con la extensión PDO de PHP.

Lo primero es asignar la conexión al driver específico, por ejemplo, mysql ...


$usuario = 'root';
$password = 'password';
$host = 'localhost';
$db = 'ejemplo';
$conexion = new PDO("mysql:host=$host;dbname=$db", $usuario, $password);

A continuación, realizar una consulta SELECT asignando signos de interrogación para cada parámetro, por ejemplo ...


/*Consulta SQL*/
$sql = "SELECT * FROM tabla WHERE id=? AND nombre=?";
/*Datos recibidos*/
$id = 1; 
$nombre = 'Fernando';
/*Preparar la consulta*/
$consulta = $conexion->prepare($sql);
/*Vincular el primer parámetro que corresponde al primer signo de interrogación*/
$consulta->bindParam(1, $id, PDO::PARAM_INT);
/*Vincular el segundo parámetro que corresponde al segundo signo de interrogación*/
$consulta->bindParam(2, $nombre, PDO::PARAM_STR);
/*Ejecutar la consulta*/
$consulta->execute();
/*Obtener el total de filas de la consulta*/
$total = $consulta->rowCount();
/*Comprobar si no hay ningún resultado*/
if($total == 0)
{
echo "No hay resultados que mostrar";
}
else //Entonces si mostrar la/s fila/s
{
while($fila = $consulta->fetch())
{
echo '<p>' . $fila['id'] . ':' . $fila['nombre'] . '</p>';
}
}

A continuación, realizar una consulta UPDATE SET asignando claves para cada parámetro, por ejemplo ...


$sql = "UPDATE tabla SET campo1=:campo1 AND campo2=:campo2";
/* Datos recibidos */
$campo1 = 1;
$campo2 = 'string';
/* Preparar la consulta */
$consulta = $conexion->prepare($sql);
/*Vincular los parámetros por su clave*/
$consulta->bindParam(':campo1', $campo1, PDO::PARAM_INT);
$consulta->bindParam(':campo2', $campo2, PDO::PARAM_STR);
/* Comprobar si ha habido algún error */
if(!$consulta)
{
echo "Ha ocurrido un error";
}
/* de lo contrario actualizar el registro */
else 
{ 
$consulta->execute();
echo "Registro actualizado correctamente";
}



Drivers compatibles con PDO PHP


Bienvenid@s, PDO (PHP Data Objects) es una extensión que bajo unas mismas funciones nos puede permitir conectar a distintos gestores de bases de datos, esta extensión está disponible a partir de la versión 5 de PHP, entre sus grandes ventajas se encuentra la seguridad y por supuesto su fácil migración de un gestor a otro, sin tener que modificar las funciones dedicadas a las consultas, salvo, claro está, la simple modificación de un driver a otro en la conexión a la base de datos.

Se recomienda su uso por ser extensible bajo un mismo patrón a los siguientes controladores:


Nombre del controlador Bases de Datos admitidas
PDO_CUBRIDCubrid
PDO_DBLIBFreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRDFirebird
PDO_IBMIBM DB2
PDO_INFORMIXIBM Informix Dynamic Server
PDO_MYSQLMySQL 3.x/4.x/5.x
PDO_OCIOracle Call Interface
PDO_ODBCODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQLPostgreSQL
PDO_SQLITESQLite 3 and SQLite 2
PDO_SQLSRVMicrosoft SQL Server / SQL Azure
PDO_4D4D