MySQL Handler (Clase en php) para los que utilizan MySQL ;)

Iniciado por Luisango, 12 Noviembre 2007, 23:14 PM

0 Miembros y 2 Visitantes están viendo este tema.

Luisango

Hola!

Quiero compartir una cosilla....

Se trata de una clase programada en php para generar consultas de manera rápida y sencilla mediante objetos. Ésta es la primera versión, pero la iré mejorando poco a poco (dentro de lo que se pueda). La clase esta documentada, por lo que veréis que podéis ver como esta construida de manera ordenada.
Esta clase, la hice con el motivo de no estar todo el rato repitiendo sentencias que ocupan muchas líneas y, como es lógico, espacio y tamaño.

Bueno, sin más, os dejo aqui el paquete de la clase con el que incluyo un archivo que explica como se usa la clase de manera práctica:
- http://mysqlhandler.stage7.es/mysql.handler.rar

Podéis también ver la clase documentada on-line aquí:
- http://mysqlhandler.stage7.es


Aquí os pongo el archivo test.php, para que antes de descargaroslo, veáis como funciona:
<?php

/**
 * @author The Sixth Halcon
 * @copyright 2007
 * ==============================================================
 * Test file for MySQLHandler Class
 * ==============================================================
 */

require("mysql.handler.php");

// Crea un nuevo objeto
$sql = new MySQLHandler("localhost""root""root");

// Crea la base de datos 'handler'
$sql->CreateDB("handler");

// Selecciona la base de datos 'handler'
$sql->SelectDB("handler");

// Selecciona la tabla 'prueba' 
$sql->SelecTable("prueba");

// Elimina la tabla 'prueba'
$sql->DeleteTable();

// Desselecciona la tabla 'prueba' [Now there is no table selected]
$sql->NoTable();

// Create a table called 'prueba'
$sql->CreateTable("prueba""`id` varchar(10) NOT NULL, `a` varchar(10) NOT NULL, `b` varchar(10) NOT NULL");

// Selecciona la tabla 'prueba'
$sql->SelecTable("prueba");

// Inserta una nueva fila en la tabla 'prueba'
$sql->Insert(",""id,a,b""1,abc,def");

// Cambia los valores de una fila en la tabla 'prueba'
$sql->Update("WHERE id=1"",""a,b""contenido,que quiero");

// Devuelve la sentencia SELECT en la tabla 'prueba'
$pepe $sql->Select("*""WHERE id=1");

// Hace un query libre, el query que tu quieras
$sql->Query(0"UPDATE prueba SET a='contenido', b='Que quiero' WHERE id=1");

// Te devuelve un query libre
$pepa $sql->Query(1"UPDATE prueba SET a='contenido', b='Que quiero' WHERE id=1");

// Inserta una nueva fila en la tabla 'prueba'
$sql->Insert(",""id,a,b""2,abc,def");

// Elimina una fila en la tabla 'prueba'
$sql->Delete("WHERE id=2");

// Limpia todos las filas dejando sin filas a la tabla 'prueba'
$sql->CleanTable();

// Elimina la tabla 'prueba'
$sql->DeleteTable();

// Desselecciona la tabla 'prueba' [Now there is no table selected]
$sql->NoTable();

// Elimina la base de datos 'handler'
$sql->DeleteDB();

// Desselecciona la base de datos [This method/function is optionally, but is really useful if you are changing constantly from one database to other(s)]
$sql->NoDatabase();

?>

   

Un saludo a todo el mundo y disfrutadlo!

PD: Si veis algo que se puede mejorar o añadir, podéis decírmelo y yo lo modifico ;)
Even better...

Ertai

Te recomiendo que le des un vistazo al modelo ActiveRecord y quizás puedes replantearte algunas cosas de tu clase.

http://web2development.blogspot.com/2007/05/patron-activetable-y-activerecord.html

Saludos.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

Luisango

#2
No se si entendi del todo bien, pero, el ActiveRecord es hacer que el objeto se guarde en una tabla de la base de datos y despues llamarlo, y cambiarlo como si fuese un array?
La verdad no entiendo lo que me quieres decir con lo de replantearte algunas cosas de tu clase :S, podrias explicarme mas? (Quizás te refieras a que si puedo utilizar un sistema parecido para la clase, no?)
En el caso que me comentas, ¿Qhe seria lo que cambiarías?


Muchas gracias!
Even better...

ÂìmBòt

prefiero usar,
no entiendo el fin de este paper,, es para,, ver como  funciona el handler?
MM otra, ,cosa lo pueden,, traducir :P
MMM en fin,, separalo un poco,, ;)  asi se lee mejor :D

Luisango

AimBot, ya esta con espacios y traducida, espero quete sea de utilidad, si tienes alguna duda, no dudes en preguntarmelo
Saludos!
Even better...