Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Que estoy haciendo mal?

Estas en el tema de Que estoy haciendo mal? en el foro de PHP en Foros del Web. Buenas a todos, tengo la siguiente cuestión: tengo una clase en php en un archivo llamado "conexion" para la conexion (valga la redundancia) a una ...
  #1 (permalink)  
Antiguo 03/01/2016, 11:39
 
Fecha de Ingreso: enero-2016
Mensajes: 2
Antigüedad: 8 años, 10 meses
Puntos: 0
Que estoy haciendo mal?

Buenas a todos, tengo la siguiente cuestión:
tengo una clase en php en un archivo llamado "conexion" para la conexion (valga la redundancia) a una base de datos como sigue:

Código:


Código PHP:
Ver original
  1. <?php
  2. class Conexion {
  3.  
  4.     private $server = "localhost:3306";
  5.     private $user = "root";
  6.     private $pwd = "";
  7.     private $db;
  8.     private $conn;
  9.  
  10.     /**
  11.      * Inicia un objeto de tipo conexion con los parametros establecidos para la
  12.      * conexion. Se requiere usar el metodo "conectar()" para activar la conexión.
  13.      * @param String $dataBase Base de datos que se va a usar en la conexión
  14.      */
  15.     public function Conexion($dataBase) {
  16.         if (!isset($this->db)) {
  17.             $this->db = $dataBase;
  18.         }
  19.     }
  20.  
  21.     /**
  22.      * Activa la conexion a la base de datos con la base establecida en la creación
  23.      * del objeto de tipo conexión.
  24.      */
  25.     public function conectar() {
  26.         if (!isset($this->conn)) {
  27.             $this->conn = (mysql_connect($this->server, $this->user, $this->pwd, $this->db))
  28.                     or die("Ha ocurrido el siguiente error en el metodo conectar: " . (mysql_error()));
  29.             mysql_select_db($this->db, $this->conn)
  30.                     or die("Ha ocurrido el siguiente error en el metodo conectar: " . (mysql_error()));
  31.         }
  32.     }
  33.  
  34.     /**
  35.      * Cierra y deshace la conexion a la base de datos de MySQL, para usar de nuevo
  36.      * la conexión es necesario usar el metodo "conectar();".
  37.      */
  38.     public function deconectar() {
  39.         if (isset($this->conn)) {
  40.             mysql_close($this->conn);
  41.             $this->conn = null;
  42.         }
  43.     }
  44.  
  45.     /**
  46.      * Consulta todos los datos en una tabla especificada de la base de datos
  47.      * especificada en la creación del objeto de tipo Conexión.
  48.      * @param String $tabla Tabla de la que se desea obtener los datos guardados.
  49.      * @return mysql_fetch_array() Retorna el resultado de la consulta.
  50.      */
  51.     public function consultarTodo($tabla) {
  52.         $sql = "SELECT * FROM $tabla";
  53.         $resultado = mysql_query($sql, $this->conn);
  54.         return mysql_fetch_array($resultado);
  55.     }
  56.    
  57.     /**
  58.      * Devuelve un unico registro de la base de datos consultado mediante la especificación
  59.      * del campo que se desea consultar.
  60.      * @param String $tabla Tabla de la que se desea consultar
  61.      * @param String $campo Campo o criterio de la consula "WHERE $campo = $valor".
  62.      * @param String $valor Valor del campo criterio de busqueda.
  63.      * @return mysql_fetch_array() Retorna el resultado de la consulta.
  64.      */
  65.     public function consultarRegistroEspecifico($tabla, $campo, $valor) {
  66.         $sql = "SELECT * FROM $tabla WHERE $campo=$valor";
  67.         $resultado = mysql_query($sql, $this->conn)
  68.                 or die("Error en el metodo consultar registro especifico de tipo: ".(mysql_error()));
  69.         return mysql_fetch_array($resultado);
  70.     }
  71.  
  72. }
y tambien tengo un archivo llamado "constructor.php" de php en el cual uso dicha clase que dice asi:
Código:


Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once 'conexion.php';
  4. $titulo = "";
  5. $c = new Conexion("biodigestores");
  6. $c->conectar();
  7. while ($row = $c->consultarTodo("aplicacion")) {
  8.     $titulo = $row["nombre"];
  9. }
  10. $c->deconectar();
  11. ?>
la variable $titulo la estoy usando en un archivo llamado head.php que a su vez uso en el archivo index.php y la idea es mostrar el titulo de la pagina que se encuentra almacenado en una tabla de una base de mysql. Al final de cuentas abro index (que llama a head, que llama a constructor, que usa a conexion y su calse) y me aparece este error:

"Fatal error: Maximum execution time of 120 seconds exceeded in C:\xampp\htdocs\Web-Biodigestores-Carlos\construccion\conexion.php on line 53"
  #2 (permalink)  
Antiguo 03/01/2016, 12:17
 
Fecha de Ingreso: enero-2016
Mensajes: 2
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Que estoy haciendo mal?

solucionado, el problema era que se me formaba un bucle infinito en el while del archiv constructor gracias a que el metodo de consulta devolvia el fetch_array, lo pase a devolver solo el mysql_querry y en el archivo constructor use el fecthca array y funciono

gracias a quienes leyeron :D

Etiquetas: haciendo, mysql, registro, select, sql, tabla, variable
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 22:30.