Clase PHP para trabajar con mysql

OsKaR Seguir

Zeta
Verificación en dos pasos desactivada
Desde
15 Ago 2010
Mensajes
1.552
Aquí os dejo la clase que utilizo yo en mis últimos proyectos PHP.

PHP:
<?php
// Clase Mysql

class mysql{
  private $conexion;
  private $total_consultas;
  
  public function connect(){
   if(!isset($this->conexion)){
    $this->conexion=(mysql_connect(_host, _user, _pass)) or die(mysql_error());
	mysql_select_db(_base, $this->conexion) or die(mysql_error());
   }
  }
  
  public function query($consulta){
   $this->total_consultas++;
   $resultado=mysql_query($consulta, $this->conexion);
   if(!$resultado){
    die(mysql_error());
	exit();
   }
   return $resultado;
  }
  
  public function fetch_array($consulta){
   return mysql_fetch_array($consulta);
  }
  
  public function num_rows($consulta=0){
   return mysql_num_rows($consulta); 
  }
  
  public function close(){ 
	if ($this->conexion){ 
		return mysql_close($this->conexion); 
	} 
  }  
}
?>

Para definir los datos de la base, basta con poner esto en vuestro config.php o en vuestra configuración de la web.
PHP:
<?php
// mysql
define("_host", "localhost");
define("_user", "usuario");
define("_pass", "pass");
define("_base", "base");
?>

Utilizacion:
PHP:
<?php
// abrir conexion
$db = new mysql();
$db->connet();

// consultas
$db->query("sentencia sql");
$db->num_rows($string);
$db->fetch_array($string);
// etc..

// cerrar conexion
$db->close();

Espero que os sea de utilidad. :)
 

nax

Gamma
Verificación en dos pasos desactivada
Desde
26 May 2010
Mensajes
165
Para que fuera realmente útil yo le agregaría funciones para pasar todos los resultados a un array y cosas así...

no se... usar las 4 funciones que ya ofrece el paquete mysql no le veo mucho sentido..

si paresearas los resultados o las querys de consultas aún...
 

OsKaR

Zeta
Verificación en dos pasos desactivada
Desde
15 Ago 2010
Mensajes
1.552
Para que fuera realmente útil yo le agregaría funciones para pasar todos los resultados a un array y cosas así...

no se... usar las 4 funciones que ya ofrece el paquete mysql no le veo mucho sentido..

si paresearas los resultados o las querys de consultas aún...

Ok, no soy un programador avanzado ni nada por el estilo, no estaría mal que explicaras como lo harías tu, así todos aprendemos o mejoramos. ;)
 

Osuka

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
20 Sep 2010
Mensajes
283
Es lo mismo que usar php normal, nomás cambiandole los nombres :(
nax tiene razón :D Yo te recomiendo que hagas un código más robusto, por ejemplo que las sentencias sql las limpiaras de código malicioso (sql injection) y cosas por el estilo, realmente no es complicado.
Inlcuso cuando comienzas a programar mucho creas tus propias clases sin darte cuenta, reusas mucho código de esta forma.
Ya irás viendo.
Admiro tu iniciativa por compartir un poco de tus conocimientos y trabajo, es un buen post.

Saludos!
 

Julcar

Mi
Exchanger
Verificación en dos pasos desactivada
Desde
9 Mar 2010
Mensajes
3.183
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Lo que sí seria interesante es crear una clase que pueda trabajar con cualquier motor de datos, incluyendo Mysql, Sqlite, PostgreSQL y ODBC
 

OsKaR

Zeta
Verificación en dos pasos desactivada
Desde
15 Ago 2010
Mensajes
1.552
Pues haber si entre todo el que quiera aprendemos algo mas, que nunca viene mal, yo para evitar ataques SQL lo hago mediante una función externa, seria interesante que los "programadores" que andan por el foro enseñaran un poco. :)

Saludos!
 

Beck

Épsilon
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
22 Abr 2009
Mensajes
821
Pues haber si entre todo el que quiera aprendemos algo mas, que nunca viene mal, yo para evitar ataques SQL lo hago mediante una función externa, seria interesante que los "programadores" que andan por el foro enseñaran un poco. :)

Saludos!

No entiendo lo de la funcion externa, podrias explicar el porque de la misma y esas cositas por favor :), estos temas la verdad son re importantes.

En mi caso yo valido todo lo que me mande el usuario, si yo espero por ejemplo un numero pues solo acepto un numero de lo contrario mando un error o redirijo a la pagina de inicio y asi voy con todo, evidentemente nunca jamas se pasa las variables get o post o cualquier cosa que envie un usuario directamente a una consulta, siempre valido y bla bla bla


pd: para lo de usar una clase para manejar consultas para Mysql, Sqlite, PostgreSQL, eso es justamente lo que hacen los ORM ejem doctrine , pero tenes que aprender su propio lenguaje, yo quiero iniciarme pronto con eso de los ORM >.<
 

OsKaR

Zeta
Verificación en dos pasos desactivada
Desde
15 Ago 2010
Mensajes
1.552
No entiendo lo de la funcion externa, podrias explicar el porque de la misma y esas cositas por favor :), estos temas la verdad son re importantes.

Yo tengo una función llamada "limpiar", en la que quito todos los caracteres peligrosos para evitar ataques en consultas $_GET o $_POST, pero me interesaría muchísimo aprender lo que comentáis, todo sea por aprender mejor ya que mis conocimientos son para proyectos pequeños. :)
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba