Foros del Web » Programando para Internet » PHP »

Utilizando una clase DB_mysql

Estas en el tema de Utilizando una clase DB_mysql en el foro de PHP en Foros del Web. Hola.. Soy nueva programando PHP, cree un fichero clase_mysql.inc.php el cual tiene la conexion a la Base de Datos: function conectar(){ if ($bd != "") ...
  #1 (permalink)  
Antiguo 11/03/2007, 22:40
 
Fecha de Ingreso: noviembre-2006
Mensajes: 3
Antigüedad: 17 años, 5 meses
Puntos: 0
Utilizando una clase DB_mysql

Hola..
Soy nueva programando PHP,
cree un fichero clase_mysql.inc.php el cual tiene la conexion a la Base de Datos:
function conectar(){
if ($bd != "") $this->BaseDatos = $bd;
if ($host != "") $this->Servidor = $host;
if ($user != "") $this->Usuario = $user;
if ($pass != "") $this->Clave = $pass;

// Conectamos al servidor
//$this->Conexion_ID = mysql_connect($this->Servidor, $this->Usuario, $this->Clave);
$this->Conexion_ID = mysql_connect ("localhost", "root", "");

if (!$this->Conexion_ID) {
$this->Error = "Ha fallado la conexión.";
return 0;
}
/*
//seleccionamos la base de datos
if (!@mysql_select_db($this->BaseDatos, $this->Conexion_ID)) {
$this->Error = "Imposible abrir ".$this->BaseDatos ;
return 0;
}
*/
/* Si hemos tenido éxito conectando devuelve
el identificador de la conexión, sino devuelve 0 */
return $this->Conexion_ID;
}


Estoy en otro php listaClientes y trato de usar la conexion pero me da error: Using $this when not in object context
El codigo de esta es:
require ("clase_mysql.inc.php");
$miconexion = new DB_mysql ;
$miconexion->conectar();
echo $miconexion; // muestra Object id #1
mysql_select_db ("mantenimiento",$miconexion); // se cae aqui

No se como usar la variable $miconexion para poder usarla en el resto de las paginas php
  #2 (permalink)  
Antiguo 11/03/2007, 23:50
 
Fecha de Ingreso: diciembre-2006
Mensajes: 127
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Utilizando una clase DB_mysql

aqui te dejo un codigo que encontre espero te funcione:

<?php

class DB_mysql {



/* variables de conexión */

var $BaseDatos;

var $Servidor;

var $Usuario;

var $Clave;





/* identificador de conexión y consulta */

var $Conexion_ID = 0;

var $Consulta_ID = 0;



/* número de error y texto error */

var $Errno = 0;

var $Error = "";





/* Método Constructor: Cada vez que creemos una variable

de esta clase, se ejecutará esta función */

function DB_mysql($bd = "", $host = "localhost", $user = "nobody", $pass = "") {

$this->BaseDatos = $bd;

$this->Servidor = $host;

$this->Usuario = $user;

$this->Clave = $pass;

}



/*Conexión a la base de datos*/

function conectar($bd, $host, $user, $pass){



if ($bd != "") $this->BaseDatos = $bd;

if ($host != "") $this->Servidor = $host;

if ($user != "") $this->Usuario = $user;

if ($pass != "") $this->Clave = $pass;



// Conectamos al servidor

$this->Conexion_ID = mysql_connect($this->Servidor, $this->Usuario, $this->Clave);

if (!$this->Conexion_ID) {

$this->Error = "Ha fallado la conexión.";

return 0;

}



//seleccionamos la base de datos

if (!@mysql_select_db($this->BaseDatos, $this->Conexion_ID)) {

$this->Error = "Imposible abrir ".$this->BaseDatos ;

return 0;

}



/* Si hemos tenido éxito conectando devuelve

el identificador de la conexión, sino devuelve 0 */

return $this->Conexion_ID;

}



/* Ejecuta un consulta */

function consulta($sql = ""){



if ($sql == "") {

$this->Error = "No ha especificado una consulta SQL";

return 0;

}



//ejecutamos la consulta

$this->Consulta_ID = @mysql_query($sql, $this->Conexion_ID);



if (!$this->Consulta_ID) {

$this->Errno = mysql_errno();

$this->Error = mysql_error();

}

/* Si hemos tenido éxito en la consulta devuelve

el identificador de la conexión, sino devuelve 0 */

return $this->Consulta_ID;

}



/* Devuelve el número de campos de una consulta */

function numcampos() {

return mysql_num_fields($this->Consulta_ID);

}



/* Devuelve el número de registros de una consulta */

function numregistros(){

return mysql_num_rows($this->Consulta_ID);

}



/* Devuelve el nombre de un campo de una consulta */

function nombrecampo($numcampo) {

return mysql_field_name($this->Consulta_ID, $numcampo);

}



/* Muestra los datos de una consulta */

function verconsulta() {



echo "<table border=1>\n";



// mostramos los nombres de los campos

for ($i = 0; $i < $this->numcampos(); $i++){

echo "<td><b>".$this->nombrecampo($i)."</b></td>\n";

}

echo "</tr>\n";

// mostrarmos los registros



while ($row = mysql_fetch_row($this->Consulta_ID)) {

echo "<tr> \n";

for ($i = 0; $i < $this->numcampos(); $i++){

echo "<td>".$row[$i]."</td>\n";

}

echo "</tr>\n";

}



}





} //fin de la Clse DB_mysql

?>

////aqui la llamas//

<body>

<html>

<?php

require ("clase_mysql.inc.php");

$miconexion = new DB_mysql ;

$miconexion->conectar("mydb", "localhost", "nobody", "");

$miconexion->consulta("SELECT * FROM agenda");

$miconexion->verconsulta();

?>

</body>

</html>




saludos
  #3 (permalink)  
Antiguo 12/03/2007, 00:08
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Utilizando una clase DB_mysql

Movido desde BD a PHP.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:58.