Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2013, 11:32
Avatar de calichecal
calichecal
 
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 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-