Te agradezco la sugerencia, tenés toda la razón, si no explico cómo funciona pos nadie la va a poder usar
Paso a explicar el funcionamiento:
primero hay que incluir el archivo. Luego se llama a una instancia de la clase con una línea como:
$conexion = new BD();
No es necesario un parámetro para BD, ya que por defecto se conectará a la base de datos especificada en db_BASE. Si se quiere usar otra bd, basta con
$conexion = new BD('nombre de la base');
La función BD() se ejecuta e inicia la conexión al servidor, guardando en errConex cualquier error producido y en conex el resultado devuelto por mysql_connect. O sea, que si hay algún error, se lo puede mostrar con
echo $conexion->errConex;
CONSULTAS:
se utiliza la función (método) Consulta, pasándole como parámetro el SQL correspondiente. Se almacena el resultado devuelto por mysql_query en cons y además se devuelve en caso de que se necesite trabajar con múltiples consultas
$resultado = $conexion->Consulta('SELECT......');
Cualquier error producido se guarda en 'errCons', la consulta usada se guarda en 'UltCons', y el número de registros devueltos se guarda en 'total'
Cambiar la base actual:
Se hace una llamada a cambiaBase() pasándole como parámetro el nombre de la nueva base:
$conexion->cambiaBase('nueva_base');
Obtener datos:
Se usan los métodos 'obtenerReg' (equivale a fetch_row) y 'obenerAsoc' (equivale a fetch_assoc). Si se trabaja con una sola consulta a la vez, no es necesario pasarles parámetros a los métodos, ya que por defecto tomarán el valor de $this->cons (es decir, el último resultado devuelto por un mysql_query). Se puede pasar como parámetro el valor de otro resultado (otra vez pensando en trabajar con varias consultas a la vez)
ejemplo:
while( $fila = $conexion->obtenerAsoc() ) {
// hacer lo que sea con la fila
}
Liberar resultado:
se utiliza el método Liberar(), que puede o no utilizarse con un parámetro (análogo a los anteriores).
Un ejemplo completo:
Código PHP:
<?php
include('bd.php');
$c = new BD();
$c->Consulta('SELECT nombre, apellido FROM personas');
while($fila = $c->obtenerAsoc() ) {
echo '- '.$fila['apellido'].', '.$fila['nombre']."\n";
}
$c->Liberar();
Espero que esto sirva de aclaración sobre el funcionamiento.
En cuanto a POO o no, pues creo que en algunas cosas es más conveniente el uso de clases, pero también 'prefiero' el php estructurado.
En fin, saludos