Diario de cambios:
Version: 0.3
Ultima edicion: 6-julio-2007
- arreglado un problema en la funcion enmarcar, siempre muestra el mensaje $str
- he añadido los constructores para que sea compatible con PHP 5
Hoy he terminado de desarrollar dos classes en PHP
- para conectar con una base de datos MySQL
- para hacer llamadas a la base de datos (querys, updates, deletes, inserts, etc.)
Caracteristicas importantes:
- al hacer selects, si estas devuelven valores, se tiene que hacer mysql_free_result($mysql_result) para liberar recursos, esta clase lo hace automaticamente
- cuando haces una query esta devuelve una tabla de objetos
puedes acceder a los valores mediante $query1->v[0]->nombre o recorrerlos todos con un foreach
con lo que ya no tienes que dudar si era un mysql_fetch_row, mysql_fetch_assoc u otro...
- modo de depuracion, si estas en modo de depuracion si se producen errores, se mostraran las querys tal y como se han ejecutado a la base de datos
- muy facil de recordar y programar, ya que se tiene que escribir muy poco
- Cierra la conexion datos automaticamente al final de la aplicacion, utilizando un __destructor() compatible con PHP4 y 5
Ejemplo practico:
PHP:
-
//incluimos la clase
-
require 'class_mysql.php';
-
-
//creamos el objeto bd para poder conectar con la base de datos
-
//Nota: para el modo debug se tiene que escribir: $bd = new bd(1);
-
$bd = new bd();
-
-
//para hacer una query
-
$query1 = new query('select id, nombre, apellidos from trabajadores',$bd);
-
-
//podemos comprobar si la query ha obtenido valores (no hace falta para mostrar datos)
-
if($query1->n){
-
-
//recorremos las filas y mostramos los resultados
-
foreach ($query1->v as $fila)
-
}else{
-
//si no hay valores se muestra un mensaje
-
echo 'no se encontraron resultados';
-
}
Otras caracteristicas:
- para evitar sql-injections, debes filtrar los datos de esta manera:
PHP:
-
$query1 = new query("select * from usuarios where nombre='".$bd->f($_POST['nombre'])."' and password='".$bd->f($_POST['password'])."'",$bd);
-
- saber numero de filas afectadas, al hacer por ejemplo un update:
PHP:
-
$query1 = new query("update trabajadores set salario='1000' where departamento='12'",$bd);
-
Pasos:
- Descargar el fichero:
- Remplazar el nombre del fichero a class_mysql.php
- Subirlo al ftp
Recuerda: (antes de usar la clase tienes que editar las variables)
- var $usuari='root'; //nombre de usuario de la base de datos
- var $clau=''; //contraseña del usuario
- var $servidor='localhost'; //nombre del servidor, normalmente localhost
- var $nomBD=''; //nombre de la base de datos
Si te ha gustado, crees que se puede mejorar o si encuentras fallos, deja un comentario