Foros del Web » Programando para Internet » PHP »

PHP OO Duda con php el la función @mysql_query

Estas en el tema de Duda con php el la función @mysql_query en el foro de PHP en Foros del Web. Hola a todos, Pide su valiosa colaboración en algo que he intentado hacer en Días. Desde que me enteré que php entro al grupo de ...
  #1 (permalink)  
Antiguo 23/04/2013, 11:32
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 15 años, 5 meses
Puntos: 12
Duda con php el la función @mysql_query

Hola a todos, Pide su valiosa colaboración en algo que he intentado hacer en Días.

Desde que me enteré que php entro al grupo de los grandes lenguajes con php 5 (php OO), decide aprender el mismo.

Domino perfectamente a java, pero ahorita estoy tratando de hacer una aplicación php con el patrón DAO. pero no logro traer información de las base de datos mediante el método @mysql_query:

primero tengo la clase conexión(solo muestro las funciónes que estoy utilizando):
Código PHP:
<?php

class conexion {


  
/* http://www.damianaguilar.com/articulos/php:_orientado_a_objetos/clase_para_conexi%C3%B3n_a_mysql_con_php/18/ */
  /* http://www.scriptmatico.com/2007/07/28/6/ */
    
     
    
var $server;
    var 
$user;
    var 
$pass;
    var 
$data_base;
    var 
$conexion_in;
    var 
$flag false;
    var 
$error_conexion "Error en la conexion a MYSQL";
    
    
  

    function 
connect(){
        
            
$this-> server "localhost";
            
$this-> user ="root";
            
$this-> pass ="una_contraseña";
            
$this->conexion_in = @mysql_connect($this->server,$this->user,$this->pass) or die($this->error_conexion);
            
$this->flag true;
            @
mysql_query("SET NAMES utf8");
            
    }
    
    function 
close(){
        if(
$this->flag == true){
            @
mysql_close($this->conexion_in);
        }
    }
    
    function 
query($query){
        
       
        return @
mysql_query($this->data_base,$query);
    }
    
    function 
f_obj($query){
        
       return @
mysql_fetch_object($query);
       
//return @mysql_fetch_row($query);
       
    
}

    function 
select($db){
        
$result = @mysql_select_db($db,$this->conexion_in);
        if(
$result){
            
$this->data_base $db
            return 
true;
        }else{
            return 
false;
        }
    }
    
    function 
free_sql($query){
        
       if(isset(
$query)){
           
mysql_free_result($query);
       }
       
    }


}

?>

estoy utilizando la clase anterior en la clase Accion:


Código PHP:
<?php
/**
 * Description of acciones
 *
 * @author stivenson
 */
include('conexion.php');

class 
Accion {

    var 
$obJconexion;
    var 
$sqlAccion;
    var 
$resultAccion;

    function 
conectar() {

        
$this->obJconexion = new conexion;
        
$this->obJconexion->connect();
        
$this->obJconexion->select("semillero");
    }


    function 
traerfila($nombretabla$condicioncampo$condicionvalor) {

        
//echo ("SELECT * FROM " . $nombretabla . " WHERE " . $condicioncampo . "=" . $condicionvalor . ";");
        
$this->sqlAccion $this->obJconexion->query("SELECT * FROM " $nombretabla " WHERE " $condicioncampo "=" $condicionvalor ";");
        
$this->resultAccion $this->obJconexion->f_obj($this->sqlAccion);
        return 
$this->resultAccion;
        
    }

   
// muchas mas funciones ...
  


}

?>
y luego estoy utilizando la clase Accion en la clase informacionsemillero:

Código PHP:

<?php

/*
 * 
 * Description of informacionsemillero
 * 
 * Patron DAO, CLASE DE CONEXIÓNES HACIA TABLA INFORMACIÓNSEMILLERO
 *
 * @author stivenson
 * 
 */

include('Accion.php');

class 
informacionsemillero {
    
    
   var 
$Accion;
    
    function 
traerinfo($numColumn){
        
        
        
        
$this->Accion=new Accion;
        
$this->Accion->conectar();
        
$resultado $this->Accion->traerfila("informacionsemillero","idinformacionsemillero",$numColumn);
        
$this->Accion->cerrarconexion();
        
        return 
$resultado;
        
    }
    
}

?>
y luego en el controlador,(o al menos es la idea), utilizo a la clase informacionsemillero:

Código PHP:
<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of sobreaditic
 *
 * @author stivenson
 */
include ("../modelo/informacionsemillero.php");  

class 
controladorInfosemillero {
    
    
    
    function 
traerinfo(){
        
$obJinformacionsemillero = new informacionsemillero;
       return 
$obJinformacionsemillero->traerinfo(1);
    }
    
    
}

?>
finalmente intento mostrarlo en la vista:


Código PHP:

<?php
include("../controlador/controladorInfosemillero.php");
$objeto = new controladorInfosemillero;
?>

<?php include("./plantilla/body_superior.php"); ?>       


<?php
$resultadoVista 
$objeto->traerinfo();

 while (
$fila $resultadoVista) {
 echo 
$fila->contenidoinformacion// nombre de la columna
}
// var_dump($resultadoVista); 
// echo($resultadoVista);
?>

<?php include("./plantilla/body_inferior.php"); ?>
pero no funciona y el problema resulta desde la función query de la clase conexion. la mas inferior. :/, simplemente no devuelve nada.

Agradezco sus consejos y recomendaciones.
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-
  #2 (permalink)  
Antiguo 23/04/2013, 11:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Duda con php el la función @mysql_query

Pues si no obtienes algún error u otra información de utilidad es complicado entender, deberías depurar tu código en busca de mas detalles ya que no hay forma en adivinar lo que está sucediendo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/04/2013, 11:39
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Duda con php el la función @mysql_query

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues si no obtienes algún error u otra información de utilidad es complicado entender, deberías depurar tu código en busca de mas detalles ya que no hay forma en adivinar lo que está sucediendo.
tienes razón, esto es lo que me arroja el archivo error_log:

Código:
[Tue Apr 23 11:46:19.059200 2013] [lbmethod_heartbeat:notice] [pid 4427] AH02282: No slotmem from mod_heartmonitor
[Tue Apr 23 11:46:19.066105 2013] [mpm_prefork:notice] [pid 4427] AH00163: Apache/2.4.3 (Unix) OpenSSL/1.0.1c PHP/5.4.7 configured -- resuming normal operations
[Tue Apr 23 11:46:19.066160 2013] [core:notice] [pid 4427] AH00094: Command line: '/opt/lampp/bin/httpd -D SSL -D PHP5 -E /opt/lampp/logs/error_log'
[Tue Apr 23 12:34:53.773107 2013] [mpm_prefork:notice] [pid 4427] AH00169: caught SIGTERM, shutting down
[Tue Apr 23 12:35:03.062735 2013] [ssl:warn] [pid 5304] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Tue Apr 23 12:35:03.062857 2013] [ssl:warn] [pid 5304] AH01909: RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name
[Tue Apr 23 12:35:03.195175 2013] [auth_digest:notice] [pid 5305] AH01757: generating secret for digest authentication ...
[Tue Apr 23 12:35:04.088784 2013] [ssl:warn] [pid 5305] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Tue Apr 23 12:35:04.088849 2013] [ssl:warn] [pid 5305] AH01909: RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name
[Tue Apr 23 12:35:04.088905 2013] [lbmethod_heartbeat:notice] [pid 5305] AH02282: No slotmem from mod_heartmonitor
[Tue Apr 23 12:35:04.095969 2013] [mpm_prefork:notice] [pid 5305] AH00163: Apache/2.4.3 (Unix) OpenSSL/1.0.1c PHP/5.4.7 configured -- resuming normal operations
[Tue Apr 23 12:35:04.096009 2013] [core:notice] [pid 5305] AH00094: Command line: '/opt/lampp/bin/httpd -D SSL -D PHP5 -E /opt/lampp/logs/error_log'
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-
  #4 (permalink)  
Antiguo 23/04/2013, 11:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Duda con php el la función @mysql_query

Ese es el log de errores de Apache.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/04/2013, 11:44
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Duda con php el la función @mysql_query

Cita:
Iniciado por pateketrueke Ver Mensaje
Ese es el log de errores de Apache.
El archivo php_error_log esta vacío.
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-
  #6 (permalink)  
Antiguo 23/04/2013, 11:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Duda con php el la función @mysql_query

Bueno, pero todavía puedes depurar tu código para ver si se está ejecutando o no, el hecho de que no devuelva errores ni resultados no indica que el código esté mal.

Puede que sencillamente la consulta no obtiene datos y ya, no tiene por que ser un error eso, al menos deberías revisar al respecto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 23/04/2013, 11:53
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Duda con php el la función @mysql_query

Cita:
Iniciado por pateketrueke Ver Mensaje
Bueno, pero todavía puedes depurar tu código para ver si se está ejecutando o no, el hecho de que no devuelva errores ni resultados no indica que el código esté mal.

Puede que sencillamente la consulta no obtiene datos y ya, no tiene por que ser un error eso, al menos deberías revisar al respecto.
ok depuraré, aunque hice un echo, y la consulta si devuelve datos, es decir justo antes de utilizar la función query de la clase conexion todo esta bien, pero esta función parece que nisiquiera corre.
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-
  #8 (permalink)  
Antiguo 23/04/2013, 11:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Duda con php el la función @mysql_query

Entonces creo que el while() está mal, prueba a depurar $resultadoVista para ver lo que contiene.

La otra es que estás usando @ (arrobas) y eso omite los mensajes de error, si existe alguno no te enteras, así que deberías quitarlas para observar lo que sucede.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 23/04/2013, 11:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: Duda con php el la función @mysql_query

quita el simbolo @ en mysql para que puedas ver los errores
__________________
cada vez que aprendes algo te crees que no sabes nada

Etiquetas: dao, mysql, poo, select, sql, tabla
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 08:23.